$this->widget( 'application.components.CJuiAccordionK', array( 'panels' => $panels, 'prices' => $packagesPrices, 'shortDescriptions' => $shortDescriptions, 'options' => array( 'collapsible' => true, 'icons' => null, 'header' => "dt" ), ) );
Мне нужно поместить эту пару ключ => значение в 'options'
, условно:
'active'=>false,
благодаря
Это не отвечает на мой главный вопрос. Я все еще не знаю, как мы можем добавить пару значений условного ключа в виджет Yii. Однако проблема была решена путем изменения только «значения» до значения по умолчанию. Пробовал, NULL, и искал ложных, и попытался правду, ни один кубик. В документации jquery мы можем прочитать, что значение 0 является значением по умолчанию, поэтому, если мы это сделаем:
'options' => array( 'active' => (count($panels) === 1 ? 0 : false), 'collapsible' => true, 'icons' => null, 'header' => "dt" ),
Мы получаем желаемый эффект.
Просто поделиться.
Используя оператор объединения ($ a + $ b), и тройной оператор делает трюк. Просто передайте пустой массив, если вы ничего не хотите добавлять. например:
'options' => array( //... other key/val pairs ) + (condition ? array('active' => false) : array()),