0
私はyiiグリッドビューでさまざまな目的に使用する共通の機能を持っています。例えば、私の属性はcol1とcol2です。彼らは、私が異なるアクションを実行する値に基づいて、同じ関数を呼び出します。関数は、何百万というデータを通過してから、グリッドビューに戻る必要があります。yiiグリッドビューで2つの属性の関数を一度呼び出す
ここでは、col1で1回、col2で2回この関数を呼び出しています。とにかく私は関数を一度しか呼び出すことができず、それを両方の属性に使用することができます。これは非常に便利ですか?これに関するどんな助けも素晴らしいでしょう。 ありがとうございます。モデルで
array(
'header'=>'Phrase Used',
'htmlOptions'=>array('style'=>'width:10px;text-align:center;'),
'value'=> function($data){
if($data->usedBankPhrase($data->bank_id) == 1) {echo "<span class=\"translated-badge\" title =\"Used \">u</span>";}
else{echo "<span class=\"badge\" style=\"background-color:red !important; padding:2px;\" title =\" Not Used \">nu</span>";}
},
'filter'=>'',
),
//delete button
'remove' => array(
'visible'=>'!$data->usedBankPhrase($data->bank_id);',
'label' => 'Delete Phrase',
'imageUrl'=> Yii::app()->request->baseUrl.'/images/icons/cross.png',
'options'=>array('class'=>'full-bank-delete', 'id'=>'\'remove-banker-\'.$data->bank_id'), //HTML options for the button tag.
),
をしかし、私はまだ関数を2回呼び出すことに終わりますか? –
@MohanPrasadはい、それは一回計算され、 '$ storedUsedBankPhrase'属性に格納されます。この行を 'if(!$ this-> storedUsedBankPhrase){'から 'if($ this-> storedUsedBankPhrase === null){'に変更し、計算関数がnullを返さないようにしてください。 – Yupik
はいそれをチェックします。 –