/** * toggleButtonRow provides a checkbox with toggle support via purecss.io and prism.js * @param CiiSettingsModel $model The model that we are operating on * @param string $property The name of the property we are working with * @param array $htmlOptions An array of HTML Options * @param CValidator $validators The Validator(s) for this property * Since we already have it, it's worth passing through */ public function toggleButtonRow($model, $property, $htmlOptions = array(), $validators = NULL) { echo CHtml::tag('label', array(), $model->getAttributeLabel($property)); echo CHtml::openTag('div', array('class' => Cii::get($htmlOptions, 'class', 'pure-input-2-3'), 'style' => 'display: inline-block')); echo CHtml::openTag('label', array('class' => 'switch-light switch-candy')); $checked = array(); if ($model->{$property} == 1) { $checked = array('checked' => 'checked'); } echo CHtml::openTag('input', CMap::mergeArray(array('type' => 'checkbox', 'id' => get_class($model) . '_' . $property, 'name' => get_class($model) . '[' . $property . ']', 'class' => Cii::get($htmlOptions, 'class', NULL), 'value' => '1'), $checked)); echo CHtml::openTag('span'); echo CHtml::tag('span', array(), 'Off'); echo CHtml::tag('span', array(), 'On'); echo CHtml::closeTag('span'); echo CHtml::tag('a', array('class' => 'slide-button'), NULL); echo CHtml::closeTag('label'); echo CHtml::closeTag('div'); }