public function getSectionsArray() { $attr = Widget::getI18nFieldName('title', 'Widget'); $sql = 'SELECT ns.`id`, u.`' . $attr . '` FROM `' . Widget::tableName() . '` as u INNER JOIN `' . ModelBlog::tableName() . '` as ns ON u.id = ns.widget_id WHERE u.`class` = "WidgetBlog" ORDER BY u.`' . $attr . '`'; $result = Yii::app()->db->createCommand($sql)->queryAll(); $ret = array(); foreach ($result as $row) { $ret[$row['id']] = $row[$attr]; } return $ret; }
public function listOperations() { $sectionsArray = ModelBlog::getSectionsArray(); $sectionHtml = array(); foreach ($sectionsArray as $id => $title) { $sectionHtml[] = '<option value="' . intval($id) . '">' . $title . '</option>'; } $sectionHtml = implode('', $sectionHtml); $okButton = Yii::t('UnitBlog.main', 'Move'); return array('move' => array('title' => Yii::t('UnitBlog.main', 'Move to'), 'click' => 'js:' . <<<JS function(gridId, elem) { \$('#'+gridId+'_footeradv').html('<select id="'+gridId+'_section">{$sectionHtml}</select> <input id="'+gridId+'_sectionselect" type="button" value="{$okButton}" />'); \$('#'+gridId+'_sectionselect').click(function(){ var sectionId = \$('#'+gridId+'_section').val(); var ids = \$.fn.yiiGridView.getSelection(gridId); cmsAjaxSave('/?r=records/massUpdate&className=ModelBlog_Entry&'+\$.param({id: ids})+'&fieldName=blog_id&fieldValue='+sectionId, '', 'GET', function(){ \$.fn.yiiGridView.update(gridId); }); }); return false; } JS )); }