2016-04-20 23 views
2

我使用SugarCRM的6.5.20 CE如何改变使用糖Bean上的DetailView货币领域 - SugarCRM的

问题:包含货币字段前添加“$”符号。

解决方案:$this->bean->final_sale_amount_c = '$' . $this->bean->final_sale_amount_c;

该解决方案适用于那些文本字段的所有字段。它会将'75.00'更改为'$ 75.00'。但是在碰巧是货币字段的字段上,DetailView上的输出只是'0.00'。

我还注意到<span>类除了没有类的货币字段外,其他所有类都等于'sugar_field'。

我做

var_dump($this->bean->final_sale_amount_c); 

而且回来:

字符串(12) “75000.000000”

所有字段除了final_sale_amount_cinitial_deposit_camount做工精细。

完整的代码如下:

<?php 
if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point'); 

require_once('include/MVC/View/views/view.detail.php'); 
require_once('custom/include/utilities.php'); 

class OpportunitiesViewDetail extends ViewDetail { 

    // function displaySubPanels() { 
    // return ''; 
    // } 


    function display(){ 

     var_dump($this->bean->final_sale_amount_c); 

     $this->bean->initial_deposit_c = '$' . $this->bean->initial_deposit_c; 
     $this->bean->fees_escrowed_c = '$' . $this->bean->fees_escrowed_c; 
     $this->bean->amount = '$' . $this->bean->amount; 

     $this->bean->final_sale_amount_c = '$' . $this->bean->final_sale_amount_c; 
     $this->bean->a_deposit_c = ($this->bean->a_deposit_c * 100) . '%'; 
     $this->bean->b_deposit_c = ($this->bean->b_deposit_c * 100) . '%'; 
     $this->bean->c_deposit_c = ($this->bean->c_deposit_c * 100) . '%'; 

     $this->bean->a_quarterly_hosting_fees_c = '$' . $this->bean->a_quarterly_hosting_fees_c; 
     $this->bean->b_quarterly_hosting_fees_c = '$' . $this->bean->b_quarterly_hosting_fees_c; 
     $this->bean->c_quarterly_hosting_fees_c = '$' . $this->bean->c_quarterly_hosting_fees_c; 

     $js = <<<JS 

       <script src="custom/include/javascript/js.cookie.js?version=1" type="text/javascript"></script> 
       <script src="custom/include/javascript/utilities.js" type="text/javascript"></script> 
       <script type="text/javascript"> 
       var \$ = jQuery.noConflict(); 




       </script> 


JS; 
     parent::display(); 
     echo $js; 

    } 

} 
?> 

回答

0

最后我简单地使用jQuery来代替。

$js = <<<JS 

<script src="custom/include/javascript/js.cookie.js?version=1" type="text/javascript"></script> 
<script src="custom/include/javascript/utilities.js" type="text/javascript"></script> 
<script type="text/javascript"> 

    $("#final_sale_amount_c").prepend("$ "); 


</script> 

JS; 
    parent::display(); 
    echo $js; 
1

你有另一种选择对细节视图中显示自定义字段:

让我们考虑您的自定义模块detailviewdefs.php样子:

'panels' => 
    array (
    'default' => 
    array (
     0 => 
     array (
     0 => 'name', 
     1 => 
     array (
      'name' => 'status', 
      'studio' => 'visible', 
      'label' => 'LBL_STATUS', 
      'customCode' => '{$custom_value}', 
     ), 
     ), 
     1 => 

现在分配自定义值如下:

文件路径:自定义/模块/ YOUR_MODULE/view.detail.php

function display(){ 
    $this->dv->process(); 
    $this->ss->assign('custom_value', '$'.$this->bean->amount); 
    echo $this->dv->display(); 
} 
+0

这不起作用,echo不需要,“$ this-> bean-> amount”带回的值始终为'1',无论实际存在什么值。 –

相关问题