public static function SaveCatalog($catalogXML) { $catalog = Catalogs::findOne($catalogXML['id']); if (is_null($catalog)) { // создаем запись каталога $catalog = new Catalogs(); $catalog->detachBehaviors(); $catalog->catalog_id = $catalogXML['id']; $catalog->id_parent = $catalogXML['id_parent']; $catalog->name = $catalogXML['name']; $catalog->description = $catalogXML['description']; $catalog->level = $catalogXML['level']; // $catalog->root = $catalogXML['root']; $catalog->save(false); } else { // обновляем запись каталога $catalog->detachBehaviors(); $catalog->catalog_id = $catalogXML['id']; $catalog->id_parent = $catalogXML['id_parent']; $catalog->name = $catalogXML['name']; $catalog->description = $catalogXML['description']; $catalog->level = $catalogXML['level']; // $catalog->root = $catalogXML['root']; $catalog->save(false); } }
private function write($i_lft, $i_rgt, $i_id) { // fetch the source column $s_query = "SELECT * FROM `catalogs` WHERE `catalog_id` = '" . $i_id . "'"; if (!($i_result = mysql_query($s_query))) { echo "<pre>{$s_query}</pre>\n"; throw new Exception(mysql_error()); } $a_source = array(); if (mysql_num_rows($i_result)) { $a_source = mysql_fetch_assoc($i_result); } // root node? label it unless already labeled in source table if (1 == $i_lft && empty($a_source['name'])) { $a_source['name'] = 'ROOT'; // return; } $catalog = Catalogs::findOne($i_id); if (is_null($catalog)) { // return; $catalog = new Catalogs(); $catalog->detachBehaviors(); $catalog->name = $a_source['name']; $catalog->lft = $i_lft; $catalog->rgt = $i_rgt; $catalog->save(false); } else { // каталог нашли, обновим индексы $catalog->detachBehaviors(); $catalog->name = $a_source['name']; $catalog->lft = $i_lft; $catalog->rgt = $i_rgt; $catalog->save(false); } }
public function actionView($catalog_id) { $model = Catalogs::findOne($catalog_id); if ($model === null) { throw new NotFoundHttpException(); } $searchModel = new ProductsCatalogSearch(); /** @var Catalogs $model */ $arrayResult = $searchModel->search(Yii::$app->request->queryParams, $model); if ($arrayResult['dataProvider']->count > 0) { return $this->render('view', ['model' => $model, 'searchModel' => $searchModel, 'dataProvider' => $arrayResult['dataProvider'], 'price_min' => $arrayResult['price_min'], 'price_max' => $arrayResult['price_max']]); } else { return $this->render('emptyList', ['model' => $model, 'searchModel' => $searchModel, 'dataProvider' => $arrayResult['dataProvider'], 'price_min' => $arrayResult['price_min'], 'price_max' => $arrayResult['price_max']]); } }
<?php use yii\helpers\Html; use common\models\catalogs\Catalogs; use common\models\catalogs\CatalogsFtp; ?> <?php $root = Catalogs::findOne(['name' => 'ROOT']); $nodes = $root->children(1)->all(); ?> <div class="panel-basic panel-basic-primary"> <div class="panel-basic-heading"> <h3 class="panel-basic-title">Каталог</h3> </div> <div class="panel-basic-body" style="padding:0px;"> <ul class="dropdown-menuu menu" role="menu" style="display:block!important;border-radius: 0px;"> <?php foreach ($nodes as $catalog) { ?> <li data-submenu-id="catalog_<?php echo $catalog->catalog_id; ?> ">