<p class="note">Поля помеченные <span class="required">*</span> обязательны для заполнения.</p> <fieldset> <div class="catalog"> <h3>Модули «List4»</h3> <?php $mpage_id = ModulesInPages::model()->getLink($page_id, $this->module->id); $list = ModuleList4Settings::model()->getList($mpage_id); $params_values = ModuleList4ParamsList4::model()->getList($id); if (count($list) > 0) { ?> <?php $form = $this->beginWidget('CActiveForm', array('id' => 'module-product-form', 'enableAjaxValidation' => false)); ?> <?php foreach ($list as $item_id => $item) { ?> <div class="edit_line checkboxLine"> <input name="ModuleList4ParamsList4[<?php echo $item->mpage_id; ?> ]" id="ModuleList4ParamsList4_<?php echo $item->mpage_id; ?>
public function getList4($id, $mpage_id, $maxlevel = 1, $level = 1, $param_list = false) { if ($level > $maxlevel) { return NULL; } /*//$modulelist4 = new ModuleList4(); //$val = $modulelist4->findByAttributes(array('id' => $id, 'mpage_id' => $mpage_id)); //if (is_null($val)) return NULL; $val = (object) array('id'=>$id); //$list4 = $val->getAttributes(); $list4 = array('id'=>$id);*/ $modulelist4 = new ModuleList4(); $val = $modulelist4->findByAttributes(array('id' => $id, 'mpage_id' => $mpage_id)); if (is_null($val)) { return NULL; } $list4 = $val->getAttributes(); if ($param_list !== false) { $params = ModuleList4Params::model()->findAllByAttributes(array('mpage_id' => $mpage_id, 'code' => $param_list)); } else { $params = ModuleList4Params::model()->findAllByAttributes(array('mpage_id' => $mpage_id)); } foreach ($params as $param) { $list4['params'][$param->id] = $param->getAttributes(); $list4['params'][$param->id]['settings'] = unserialize($list4['params'][$param->id]['settings']); switch ($param->data_type_id) { case '1': case '2': case '3': case '4': $values = ModuleList4Values::model()->findAllByAttributes(array('param_id' => $param->id, 'item_id' => $val->id)); $j = 0; foreach ($values as $value) { $list4['params'][$param->id]['values'][$j] = $value->getAttributes(); $list4['params'][$param->id]['values'][$j]['value'] = $value->value; $j++; } break; /* case '3': $values = ModuleList4Values::model()->findAllByAttributes( array( 'param_id' => $param->id, 'item_id' => $val->id, ) ); $j = 0; foreach ($values as $value) { $list4['params'][$param->id]['values'][$j] = $value->getAttributes(); $list4['params'][$param->id]['values'][$j]['value'] = $value->value; $j++; } break; case '4': $values = ModuleList4Values::model()->findAllByAttributes( array( 'param_id' => $param->id, 'item_id' => $val->id, ) ); $j = 0; foreach ($values as $value) { $list4['params'][$param->id]['values'][$j] = $value->getAttributes(); $list4['params'][$param->id]['values'][$j]['value'] = $value->value; $j++; } break; */ /* case '3': $values = ModuleList4Values::model()->findAllByAttributes( array( 'param_id' => $param->id, 'item_id' => $val->id, ) ); $j = 0; foreach ($values as $value) { $list4['params'][$param->id]['values'][$j] = $value->getAttributes(); $list4['params'][$param->id]['values'][$j]['value'] = $value->value; $j++; } break; case '4': $values = ModuleList4Values::model()->findAllByAttributes( array( 'param_id' => $param->id, 'item_id' => $val->id, ) ); $j = 0; foreach ($values as $value) { $list4['params'][$param->id]['values'][$j] = $value->getAttributes(); $list4['params'][$param->id]['values'][$j]['value'] = $value->value; $j++; } break; */ case '5': $values = ModuleList4Values::model()->findAllByAttributes(array('param_id' => $param->id, 'item_id' => $val->id)); $j = 0; foreach ($values as $value) { $list4['params'][$param->id]['values'][$j] = $value->getAttributes(); $list4['params'][$param->id]['values'][$j]['value'] = ModuleList4ParamsValues::model()->findByPk($value->value)->title; $tmp_value = ModuleList4ParamsValues::model()->findByPk($value->value); if ($tmp_value) { $tmp_value_id = $tmp_value->id; $list4['params'][$param->id]['values'][$j]['value_id'] = $tmp_value_id; } // $list4['params'][$param->id]['values'][$j]['value_id'] = ModuleList4ParamsValues::model()-> // findByPk($value->value)->id; $j++; } break; // $values = ModuleList4Values::model()->with('list4paramsvalues')->findAllByAttributes( // array( // 't.param_id' => $param->id, // 't.item_id' => $val->id, // ) // ); // $j = 0; // foreach ($values as $value) { // $list4['params'][$param->id]['values'][$j] = $value->getAttributes(); // $list4['params'][$param->id]['values'][$j]['value'] = $value->list4paramsvalues->title; // $j++; // } break; case '8': $value = ModuleList4Values::model()->findByAttributes(array('param_id' => $param->id, 'item_id' => $val->id)); $photos = array(); // $gId = $list4['params'][$param->id]['value'] = '1234123412';//$value->value; $gId = $value->value; foreach (ModuleGalleryPhotos::model()->with('file')->findAllByAttributes(array('gallery_id' => $gId)) as $item) { $photos[] = $item->file->file_name; } $list4['params'][$param->id]['value'] = $photos; break; case '9': $linked_mpages = array(); foreach (ModuleList4ParamsList4::model()->findAllByAttributes(array('param_id' => $param->id)) as $link) { $linked_mpages[] = $link->mpage_id; } $j = 0; foreach ($linked_mpages as $linked_mpage) { $allowed = array(); foreach ($modulelist4->findAllByAttributes(array('mpage_id' => $linked_mpage)) as $v) { $allowed[] = $v->id; } $linkparams = ModuleList4List4::model()->findAllByAttributes(array('id_1' => $val->id, 'id_2' => $allowed)); foreach ($linkparams as $linkparam) { $list4['params'][$param->id]['values'][$j] = $linkparam->getAttributes(); $list4['params'][$param->id]['values'][$j]['value'] = $this->getList4($linkparam->id_2, $linked_mpage, $maxlevel, $level + 1, $param_list); $j++; } } break; default: break; } } return $list4; }
?> "> <strong><i>Только объекты этой категории</i></strong> </label> </div> <?php } ?> <div style="padding: 5px; height: 400px; overflow-y: auto;" id="only_checked_div_<?php echo $value['id']; ?> "> <?php $mpage_id = ModulesInPages::model()->getLink($page_id, $this->module->id); $list = ModuleList4Settings::model()->getList($mpage_id); $params_values = ModuleList4ParamsList4::model()->getList($value['id']); ?> <table><tr><thead><tr><th></th><th><?php echo $settings['text1'] !== false ? $settings['text1label'] : ''; ?> </th></tr></te></thead> <?php if ($settings['type'] !== false) { ?> <tr> <td> <div class="edit_line checkboxLine"> <input name="ModuleList4List4[<?php echo $value['id']; ?> ]" id="ModuleList4List4_<?php
public function actionList4($page_id = null, $id = null) { if (!is_null($page_id) && Pages::model()->existsPage($page_id)) { $mpage_id = ModulesInPages::model()->getLink((int) $page_id, $this->module->id); if (!is_null($id) && ModuleList4Params::model()->existsItem($mpage_id, $id)) { $model = new ModuleList4ParamsList4(); $save = false; if (isset($_POST['type']) && $_POST['type'] == 'save') { ModuleList4ParamsList4::model()->deleteAllByAttributes(array('param_id' => $id)); if (isset($_POST['ModuleList4ParamsList4']) && is_array($_POST['ModuleList4ParamsList4']) && count($_POST['ModuleList4ParamsList4'])) { foreach ($_POST['ModuleList4ParamsList4'] as $mpage_id => $v) { if ($v != '0') { $mpage_id = (int) $mpage_id; $model = new ModuleList4ParamsList4(); $model->attributes = array('mpage_id' => $mpage_id, 'param_id' => $id); if ($model->save()) { $save = true; } } } if ($save) { Yii::app()->user->setFlash($this->module->id . '_add_message', '<p style="color:green;">Добавлено</p>'); $this->redirect(Yii::app()->baseUrl . '?r=' . $this->module->id . '/params/list4&page_id=' . $page_id . '&id=' . $id); } } } // $list = ModuleList4ParamsValues::model()->getList($id); $item = ModuleList4Params::model()->getItem($id); $module_settings = ModuleList4Settings::model()->getItem($mpage_id); $this->pageTitle = $module_settings->title . ' — Связанные модули «List4» в параметре «' . $item->title . '»'; $this->render('list4', array('item' => $item, 'page_id' => $page_id, 'id' => $id)); } else { $this->redirect(Yii::app()->baseUrl . '?r=pages/update&id=' . $page_id . '&/#!/tab_' . $this->module->id); } } else { $this->redirect(Yii::app()->request->scriptUrl); } }