Commit 3fe153437050c711aa92ae0f1a255e8a4423711f

Authored by andryeyev
1 parent c4f409df

+ новая версия (drupal + термины)

backend/controllers/MenuController.php
@@ -66,8 +66,8 @@ class MenuController extends Controller @@ -66,8 +66,8 @@ class MenuController extends Controller
66 66
67 $menu = yii::$app->db->createCommand(' 67 $menu = yii::$app->db->createCommand('
68 SELECT * 68 SELECT *
69 - FROM `menu`  
70 - LEFT JOIN `termin_lang` ON `termin_lang`.termin_id = `menu`.termin_id 69 + FROM menu
  70 + LEFT JOIN termin_lang ON termin_lang.termin_id = menu.termin_id
71 ')->queryAll(); 71 ')->queryAll();
72 72
73 73
@@ -105,8 +105,8 @@ class MenuController extends Controller @@ -105,8 +105,8 @@ class MenuController extends Controller
105 $model = $this->findModel($id); 105 $model = $this->findModel($id);
106 $menu = yii::$app->db->createCommand(' 106 $menu = yii::$app->db->createCommand('
107 SELECT * 107 SELECT *
108 - FROM `menu`  
109 - LEFT JOIN `termin_lang` ON `termin_lang`.termin_id = `menu`.termin_id 108 + FROM menu
  109 + LEFT JOIN termin_lang ON termin_lang.termin_id = menu.termin_id
110 ')->queryAll() + ['termin_id' => 0, 'termin_title' => 'ROOT']; 110 ')->queryAll() + ['termin_id' => 0, 'termin_title' => 'ROOT'];
111 111
112 112
backend/views/catalog/_form.php
@@ -30,7 +30,7 @@ use common\models\Catalog; @@ -30,7 +30,7 @@ use common\models\Catalog;
30 30
31 echo '<pre>'; 31 echo '<pre>';
32 32
33 - $array = $model->finInfo([ 33 + $array = $model->findInfo([
34 'catalog_id' => 1, 34 'catalog_id' => 1,
35 'return_one' => true, 35 'return_one' => true,
36 'to_array' => false, 36 'to_array' => false,
backend/views/layouts/left.php
@@ -30,9 +30,10 @@ @@ -30,9 +30,10 @@
30 [ 30 [
31 'options' => ['class' => 'sidebar-menu'], 31 'options' => ['class' => 'sidebar-menu'],
32 'items' => [ 32 'items' => [
33 - ['label' => Yii::t('app', 'Pages'), 'icon' => 'fa fa-file-code-o', 'url' => ['/page/']],  
34 - ['label' => 'Каталог', 'icon' => 'fa fa-file-code-o', 'url' => ['/catalog/']],  
35 - ['label' => 'Меню', 'icon' => 'fa fa-file-code-o', 'url' => ['/menu/']], 33 + ['label' => 'Термины', 'icon' => 'fa fa-file-code-o', 'url' => ['/termin/']],
  34 + //['label' => Yii::t('app', 'Pages'), 'icon' => 'fa fa-file-code-o', 'url' => ['/page/']],
  35 + //['label' => 'Каталог', 'icon' => 'fa fa-file-code-o', 'url' => ['/catalog/']],
  36 + //['label' => 'Меню', 'icon' => 'fa fa-file-code-o', 'url' => ['/menu/']],
36 ['label' => 'Заявки', 'icon' => 'fa fa-file-code-o', 'url' => ['/site/requests/']], 37 ['label' => 'Заявки', 'icon' => 'fa fa-file-code-o', 'url' => ['/site/requests/']],
37 ['label' => 'Gii', 'icon' => 'fa fa-file-code-o', 'url' => ['/gii']], 38 ['label' => 'Gii', 'icon' => 'fa fa-file-code-o', 'url' => ['/gii']],
38 ['label' => 'Debug', 'icon' => 'fa fa-dashboard', 'url' => ['/debug']], 39 ['label' => 'Debug', 'icon' => 'fa fa-dashboard', 'url' => ['/debug']],
common/models/Catalog.php
@@ -51,7 +51,7 @@ class Catalog extends \yii\db\ActiveRecord @@ -51,7 +51,7 @@ class Catalog extends \yii\db\ActiveRecord
51 } 51 }
52 52
53 /** 53 /**
54 - * Выполняет поис по параметрам 54 + * Выполняет поиск по параметрам
55 * @param array $param принимает [catalog_id, lang_id, return_one, return_field, show_all] 55 * @param array $param принимает [catalog_id, lang_id, return_one, return_field, show_all]
56 * @return array one | array all | string значение масива 56 * @return array one | array all | string значение масива
57 */ 57 */
common/models/Menu.php
@@ -22,25 +22,23 @@ class Menu extends \yii\db\ActiveRecord @@ -22,25 +22,23 @@ class Menu extends \yii\db\ActiveRecord
22 { 22 {
23 return yii::$app->db->createCommand(' 23 return yii::$app->db->createCommand('
24 SELECT 24 SELECT
25 - `menu`.menu_id, `menu`.menu_pid, `menu`.level,  
26 - `termin_lang`.termin_title, `termin_lang`.termin_alias,  
27 - `template`.template_file  
28 - FROM `menu`  
29 - INNER JOIN `menu_location` ON `menu_location`.menu_location_id = `menu`.menu_location_id  
30 - AND `menu_location`.menu_location_name = "'.$location_name.'"  
31 - INNER JOIN `termin` ON `termin`.termin_id = `menu`.termin_id  
32 - INNER JOIN `termin_lang` ON `termin_lang`.termin_id = `menu`.termin_id  
33 - AND `termin_lang`.lang_id = '.yii::$app->params['lang_id.'].'  
34 - INNER JOIN `template` ON `template`.template_id = `termin_lang`.template_id  
35 - ORDER BY `menu`.level ASC, `menu`.sortorder ASC 25 + menu.menu_id, menu.menu_pid, menu.level,
  26 + termin_lang.termin_title, termin_lang.termin_alias
  27 + FROM menu
  28 + INNER JOIN menu_location ON menu_location.menu_location_id = menu.menu_location_id
  29 + AND menu_location.menu_location_name = \''.$location_name.'\'
  30 + INNER JOIN termin ON termin.termin_id = menu.termin_id
  31 + INNER JOIN termin_lang ON termin_lang.termin_id = menu.termin_id
  32 + AND termin_lang.lang_id = '.Yii::$app->params['lang_id'].'
  33 + ORDER BY menu.level ASC, menu.sortorder ASC
36 ')->queryAll(); 34 ')->queryAll();
37 /* 35 /*
38 return $this->find() 36 return $this->find()
39 - ->selectOption('`termin_lang`.termin_title') 37 + ->selectOption('termin_lang.termin_title')
40 ->from('menu') 38 ->from('menu')
41 ->join( 39 ->join(
42 'INNER JOIN', 40 'INNER JOIN',
43 - '`termin_lang`.termin_id = `menu`.termin_id', 41 + 'termin_lang.termin_id = menu.termin_id',
44 ['lang_id' => yii::$app->params['lang_id']]) 42 ['lang_id' => yii::$app->params['lang_id']])
45 ->all(); 43 ->all();
46 */ 44 */
common/models/ShopCategory.php 0 → 100644
  1 +<?php
  2 +
  3 +namespace common\models;
  4 +
  5 +use Yii;
  6 +use yii\base\Model;
  7 +use yii\db\Query;
  8 +
  9 +/**
  10 + * Signup form
  11 + */
  12 +class ShopCategory extends Model
  13 +{
  14 + /**
  15 + * весь список терминов
  16 + */
  17 + static function get ()
  18 + {
  19 + return yii::$app->db->createCommand('
  20 + SELECT
  21 + termin_structure.termin_id,
  22 + termin_structure.termin_pid,
  23 + termin_lang.termin_title
  24 + FROM termin_structure
  25 + INNER JOIN termin_lang ON termin_lang.termin_id = termin_structure.termin_id
  26 + AND termin_lang.lang_id = '.Yii::$app->params['lang_id'].'
  27 + ORDER BY termin_structure.termin_id ASC, termin_structure.termin_pid ASC
  28 + ')->queryAll();
  29 + }
  30 +
  31 + // ===================
  32 + // ==== STRUCTURE ====
  33 + // ===================
  34 +
  35 + var $mass = array ();
  36 +
  37 + public function build ()
  38 + {
  39 + if ($this->mass = self::get ())
  40 + {
  41 + return $this->getRecrusive (8);
  42 + }
  43 + }
  44 +
  45 + public function findChild ($id)
  46 + {
  47 + $mass = array ();
  48 +
  49 + foreach ($this->mass as $row)
  50 + {
  51 + if ($row['termin_pid'] == $id)
  52 + {
  53 + $mass[] = $row;
  54 + }
  55 + }
  56 +
  57 + return $mass;
  58 + }
  59 +
  60 + public function getRecrusive ($menu_id)
  61 + {
  62 + $items = $this->findChild($menu_id);
  63 +
  64 + if (! empty ($items))
  65 + {
  66 + echo '<ul>';
  67 +
  68 + foreach ($items as $row)
  69 + {
  70 + echo '<li>'.$row['termin_title'].'</li>';
  71 +
  72 + if ($row['termin_pid'] != 0)
  73 + {
  74 + $this->getRecrusive($row['termin_id']);
  75 + }
  76 + }
  77 +
  78 + echo '</ul>';
  79 + }
  80 +
  81 + }
  82 +
  83 + // =====
  84 +
  85 +}
db-migration/artbox_db.backup
No preview for this file type
frontend/controllers/CatalogController.php 0 → 100644
  1 +<?php
  2 +namespace frontend\controllers;
  3 +
  4 +use Yii;
  5 +use common\models\LoginForm;
  6 +use frontend\models\PasswordResetRequestForm;
  7 +use frontend\models\ResetPasswordForm;
  8 +use frontend\models\SignupForm;
  9 +use frontend\models\ContactForm;
  10 +use frontend\models\Options;
  11 +use frontend\models\OptionValues;
  12 +use yii\base\InvalidParamException;
  13 +use yii\web\BadRequestHttpException;
  14 +use yii\web\Controller;
  15 +use yii\filters\VerbFilter;
  16 +use yii\filters\AccessControl;
  17 +use frontend\models\OptionsToValues;
  18 +use yii\validators\EmailValidator;
  19 +use common\models\User;
  20 +use yii\helpers\VarDumper;
  21 +use common\models\Page;
  22 +use frontend\models\Option;
  23 +use common\models\Social;
  24 +
  25 +
  26 +/**
  27 + * Site controller
  28 + */
  29 +class CatalogController extends Controller
  30 +{
  31 + /**
  32 + * @inheritdoc
  33 + */
  34 + public function behaviors()
  35 + {
  36 + return [
  37 + 'verbs' => [
  38 + 'class' => VerbFilter::className(),
  39 + 'actions' => [
  40 + 'delete' => ['post'],
  41 + ],
  42 + ],
  43 + ];
  44 + }
  45 +
  46 + /**
  47 + * @inheritdoc
  48 + */
  49 + public function actions()
  50 + {
  51 + return [
  52 + 'error' => [
  53 + 'class' => 'yii\web\ErrorAction',
  54 + ],
  55 + 'captcha' => [
  56 + 'class' => 'yii\captcha\CaptchaAction',
  57 + 'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : null,
  58 + ],
  59 + ];
  60 + }
  61 +
  62 + /**
  63 + * Displays homepage.
  64 + *
  65 + * @return mixed
  66 + */
  67 + public function actionIndex()
  68 + {
  69 + return $this->render('index');
  70 + }
  71 +
  72 +}
frontend/views/catalog/index.php 0 → 100644
  1 +<?php
  2 +
  3 +use common\models\ShopCategory;
  4 +
  5 +$tree = new ShopCategory();
  6 +echo $tree->build();
0 \ No newline at end of file 7 \ No newline at end of file
frontend/views/layouts/main.php
@@ -35,11 +35,11 @@ AppAsset::register($this); @@ -35,11 +35,11 @@ AppAsset::register($this);
35 ] 35 ]
36 ]); 36 ]);
37 37
38 -/*  
39 echo Nav::widget([ 38 echo Nav::widget([
40 'options' => ['class' => 'navbar-nav navbar-right'], 39 'options' => ['class' => 'navbar-nav navbar-right'],
41 'items' => (new MenuTree())->build('TOP') 40 'items' => (new MenuTree())->build('TOP')
42 ]); 41 ]);
  42 +/*
43 43
44 $menuItems = [ 44 $menuItems = [
45 ['label' => 'Home', 'url' => ['/site/index']], 45 ['label' => 'Home', 'url' => ['/site/index']],