如何在Yii Widget中设置条件键=>值对?

时间:2014-08-05 14:30:55

标签: php yii

 $this->widget(
     'application.components.CJuiAccordionK',
                array(
                    'panels' => $panels,
                    'prices' => $packagesPrices,
                    'shortDescriptions' => $shortDescriptions,
                    'options' => array(
                        'collapsible' => true,
                        'icons' => null,
                        'header' => "dt"
                    ),
                )
);

我需要在'options'上有条件地设置此key =>值对:

'active'=>false,

由于

2 个答案:

答案 0 :(得分:1)

这不能回答我的主要问题。我仍然无能为力,我们如何在Yii小部件上添加条件键值对。但是,通过仅将“值”更改为默认值来解决该问题。尝试,NULL,并尝试错误,并尝试了真,没有骰子。在jquery文档中,我们可以读到0是默认值,所以,如果我们这样做:

'options' => array(
                        'active' => (count($panels) === 1 ? 0 : false),
                        'collapsible' => true,
                        'icons' => null,
                        'header' => "dt"
                    ),

我们得到了预期的效果。

分享。

答案 1 :(得分:0)

使用union operator ($a + $b)和三元运算符可以解决问题。如果你想不添加任何东西,只需传递一个空数组。 e.g:

'options' => array(
    //... other key/val pairs
) + (condition ? array('active' => false) : array()),