Commit f603f834510119aad19f730b04803d5ef9977250

Authored by andryeyev
1 parent 5780caea

Итерация 4 (SEO)

.htaccess
... ... @@ -8,27 +8,39 @@
8 8  
9 9 SetEnv TZ Europe/Kiev
10 10  
11   - RewriteEngine On
12   -
13 11 <IfModule mod_rewrite.c>
14 12  
15 13 RewriteEngine On
16 14  
17   - # the main rewrite rule for the frontend application
18   - RewriteCond %{REQUEST_URI} !^/(backend/web|admin)
19   - RewriteRule !^frontend/web /frontend/web%{REQUEST_URI} [L]
20   -
21   - RewriteCond %{REQUEST_URI} ^/frontend/web
22   - RewriteCond %{REQUEST_FILENAME} !-f
23   - RewriteCond %{REQUEST_FILENAME} !-d
24   - RewriteRule . /frontend/web/index.php [L]
25   -
26   - RewriteCond %{REQUEST_URI} ^/backend/web
27   - RewriteCond %{REQUEST_FILENAME} !-f
  15 + RewriteBase /
  16 +
  17 + # deal with admin first
  18 + RewriteRule ^storage/(.*)?$ /storage/$1 [L,PT]
  19 +
  20 + RewriteCond %{REQUEST_URI} ^/(admin)
  21 +
  22 + RewriteRule ^admin/assets/(.*)$ backend/web/assets/$1 [L]
  23 + RewriteRule ^admin/css/(.*)$ backend/web/css/$1 [L]
  24 + RewriteRule ^admin/js/(.*)$ backend/web/js/$1 [L]
  25 + RewriteRule ^admin/images/(.*)$ backend/web/images/$1 [L]
  26 + RewriteRule ^admin/fonts/(.*)$ backend/web/fonts/$1 [L]
  27 +
  28 + RewriteCond %{REQUEST_URI} !^/backend/web/(assets|css|js|images|fonts)/
  29 + RewriteCond %{REQUEST_URI} ^/(admin)
  30 + RewriteRule ^.*$ backend/web/index.php [L]
  31 +
  32 + RewriteCond %{REQUEST_URI} ^/(assets|css)
  33 + RewriteRule ^assets/(.*)$ frontend/web/assets/$1 [L]
  34 + RewriteRule ^css/(.*)$ frontend/web/css/$1 [L]
  35 + RewriteRule ^js/(.*)$ frontend/web/js/$1 [L]
  36 + RewriteRule ^images/(.*)$ frontend/web/images/$1 [L]
  37 + RewriteRule ^fonts/(.*)$ frontend/web/fonts/$1 [L]
  38 +
  39 +
  40 + RewriteCond %{REQUEST_URI} !^/(frontend|backend)/web/(assets|css|js|images|fonts)/
  41 + RewriteCond %{REQUEST_URI} !index.php
  42 + RewriteCond %{REQUEST_FILENAME} !-f [OR]
28 43 RewriteCond %{REQUEST_FILENAME} !-d
29   - RewriteRule . /backend/web/index.php [L]
  44 + RewriteRule ^.*$ frontend/web/index.php
30 45  
31   - RewriteCond %{REQUEST_URI} \.(htaccess|htpasswd|svn|git)
32   - RewriteRule \.(htaccess|htpasswd|svn|git) - [F]
33   -
34 46 </IfModule>
35 47 \ No newline at end of file
... ...
common/models/Menu.php
... ... @@ -23,17 +23,15 @@ class Menu extends \yii\db\ActiveRecord
23 23 return yii::$app->db->createCommand('
24 24 SELECT
25 25 `menu`.menu_id, `menu`.menu_pid, `menu`.level,
26   - `page_lang`.page_title, `page_lang`.page_alias,
  26 + `termin_lang`.termin_title, `termin_lang`.termin_alias,
27 27 `template`.template_file
28 28 FROM `menu`
29 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 `page` ON `page`.page_id = `menu`.page_id
32   - AND `page`.show = 1
33   - INNER JOIN `page_lang` ON `page_lang`.page_id = `page`.page_id
34   - AND `page_lang`.lang_id = '.yii::$app->lang_id.'
35   - INNER JOIN `template` ON `template`.template_id = `page`.template_id
36   - WHERE `menu`.show = 1
  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->lang_id.'
  34 + INNER JOIN `template` ON `template`.template_id = `termin`.template_id
37 35 ORDER BY `menu`.level ASC, `menu`.sortorder ASC
38 36 ')->queryAll();
39 37 /*
... ...
common/models/MenuTree.php
... ... @@ -3,6 +3,7 @@
3 3 namespace common\models;
4 4  
5 5 use common\models\Menu;
  6 +use yii\helpers\Url;
6 7  
7 8 class MenuTree extends Menu
8 9 {
... ... @@ -42,13 +43,15 @@ class MenuTree extends Menu
42 43 foreach ($items as $row)
43 44 {
44 45 $result[] = [
45   - 'label' => $row['page_title'],
46   - 'url' => ['/'.$row['page_alias']],
  46 + 'label' => $row['termin_title'],
  47 + 'url' => ['/'.$row['termin_alias']],
  48 + //'url' => [$row['template_file']],
  49 + //'url' => Url::toRoute($row['template_file']),
47 50 'items' => $this->getMenuRecrusive($row['menu_id']),
48 51 '<li class="divider"></li>',
49 52 ];
50 53 }
51   -
  54 +
52 55 return $result;
53 56 }
54 57  
... ...
common/models/Page.php
... ... @@ -107,14 +107,14 @@ class Page extends \yii\db\ActiveRecord
107 107 {
108 108 return yii::$app->db->createCommand('
109 109 SELECT
110   - `page`.show, `page`.page_id,
  110 + `termin`.show, `termin`.termin_id,
111 111 `controller`.controller_name,
112 112 `template`.template_file
113   - FROM `page`
114   - INNER JOIN `page_lang` ON `page_lang`.page_id = `page`.page_id
115   - AND `page_lang`.lang_id = '.yii::$app->lang_id.'
116   - AND `page_lang`.page_alias = "'.$url.'"
117   - INNER JOIN `template` ON `template`.template_id = `page`.template_id
  113 + FROM `termin`
  114 + INNER JOIN `termin_lang` ON `termin_lang`.termin_id = `termin`.termin_id
  115 + AND `termin_lang`.lang_id = '.yii::$app->lang_id.'
  116 + AND `termin_lang`.termin_alias = "'.$url.'"
  117 + INNER JOIN `template` ON `template`.template_id = `termin`.template_id
118 118 INNER JOIN `controller` ON `controller`.controller_id = `template`.controller_id
119 119 ')->queryOne();
120 120 }
... ... @@ -128,10 +128,10 @@ class Page extends \yii\db\ActiveRecord
128 128 {
129 129 return yii::$app->db->createCommand('
130 130 SELECT *
131   - FROM `page`
132   - INNER JOIN `page_lang` ON `page_lang`.page_id = `page`.page_id
133   - AND `page_lang`.lang_id = '.yii::$app->lang_id.'
134   - WHERE `page`.page_id = "'.(int)$page_id.'"
  131 + FROM `termin`
  132 + INNER JOIN `termin_lang` ON `termin_lang`.page_id = `termin`.termin_id
  133 + AND `termin_lang`.lang_id = '.yii::$app->lang_id.'
  134 + WHERE `termin`.termin_id = "'.(int)$page_id.'"
135 135 ')->queryOne();
136 136 }
137 137  
... ...
db-migration/artbox_db.sql
... ... @@ -3,7 +3,7 @@
3 3 -- http://www.phpmyadmin.net
4 4 --
5 5 -- Хост: 127.0.0.1:3306
6   --- Час створення: Лис 11 2015 р., 00:03
  6 +-- Час створення: Лис 12 2015 р., 13:15
7 7 -- Версія сервера: 5.5.45
8 8 -- Версія PHP: 5.6.12
9 9  
... ... @@ -132,36 +132,34 @@ INSERT INTO `language_lang` (`language_id`, `lang_title`, `lang_id`) VALUES
132 132 CREATE TABLE IF NOT EXISTS `menu` (
133 133 `menu_id` int(6) NOT NULL AUTO_INCREMENT,
134 134 `menu_pid` int(6) NOT NULL,
135   - `menu_lft` int(6) NOT NULL,
136   - `menu_rgt` int(6) NOT NULL,
137 135 `level` int(6) NOT NULL,
138   - `page_id` int(6) NOT NULL,
  136 + `termin_id` int(6) NOT NULL,
139 137 `show` tinyint(1) NOT NULL,
140 138 `menu_location_id` int(6) NOT NULL,
141 139 `sortorder` int(6) NOT NULL,
142 140 PRIMARY KEY (`menu_id`),
143 141 KEY `show` (`show`),
144 142 KEY `sortorder` (`sortorder`),
145   - KEY `termin_id` (`page_id`)
  143 + KEY `termin_id` (`termin_id`)
146 144 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=13 ;
147 145  
148 146 --
149 147 -- Дамп даних таблиці `menu`
150 148 --
151 149  
152   -INSERT INTO `menu` (`menu_id`, `menu_pid`, `menu_lft`, `menu_rgt`, `level`, `page_id`, `show`, `menu_location_id`, `sortorder`) VALUES
153   -(1, 0, 0, 0, 0, 2, 1, 1, 1),
154   -(2, 1, 0, 0, 1, 3, 1, 1, 1),
155   -(3, 1, 0, 0, 1, 4, 1, 1, 1),
156   -(4, 0, 0, 0, 0, 5, 1, 1, 1),
157   -(5, 1, 0, 0, 1, 6, 1, 1, 1),
158   -(6, 1, 0, 0, 1, 7, 1, 1, 1),
159   -(7, 0, 0, 0, 0, 8, 1, 1, 1),
160   -(8, 0, 0, 0, 0, 9, 1, 1, 1),
161   -(9, 0, 0, 0, 0, 10, 1, 1, 1),
162   -(10, 0, 0, 0, 0, 11, 1, 1, 1),
163   -(11, 0, 0, 0, 0, 12, 1, 1, 1),
164   -(12, 0, 0, 0, 0, 13, 1, 1, 1);
  150 +INSERT INTO `menu` (`menu_id`, `menu_pid`, `level`, `termin_id`, `show`, `menu_location_id`, `sortorder`) VALUES
  151 +(1, 0, 0, 2, 1, 1, 12),
  152 +(2, 1, 1, 3, 1, 1, 1),
  153 +(3, 1, 1, 4, 1, 1, 1),
  154 +(4, 0, 0, 5, 1, 1, 1),
  155 +(5, 1, 1, 6, 1, 1, 1),
  156 +(6, 1, 1, 7, 1, 1, 1),
  157 +(7, 0, 0, 8, 1, 1, 1),
  158 +(8, 0, 0, 9, 1, 1, 1),
  159 +(9, 0, 0, 10, 1, 1, 1),
  160 +(10, 0, 0, 11, 1, 1, 1),
  161 +(11, 0, 0, 12, 1, 1, 1),
  162 +(12, 0, 0, 13, 1, 1, 1);
165 163  
166 164 -- --------------------------------------------------------
167 165  
... ... @@ -195,7 +193,7 @@ CREATE TABLE IF NOT EXISTS `menu_location_lang` (
195 193 `menu_location_title` varchar(50) NOT NULL,
196 194 `lang_id` int(2) NOT NULL,
197 195 PRIMARY KEY (`menu_location_id`,`lang_id`)
198   -) ENGINE=MyISAM DEFAULT CHARSET=utf8;
  196 +) ENGINE=InnoDB DEFAULT CHARSET=utf8;
199 197  
200 198 --
201 199 -- Дамп даних таблиці `menu_location_lang`
... ... @@ -236,9 +234,6 @@ INSERT INTO `migration` (`version`, `apply_time`) VALUES
236 234 CREATE TABLE IF NOT EXISTS `page` (
237 235 `page_id` int(6) NOT NULL AUTO_INCREMENT,
238 236 `date_add` datetime NOT NULL,
239   - `page_type_id` int(2) NOT NULL,
240   - `template_id` int(6) NOT NULL,
241   - `image_id` int(6) NOT NULL,
242 237 `show` tinyint(1) NOT NULL,
243 238 PRIMARY KEY (`page_id`)
244 239 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=14 ;
... ... @@ -247,20 +242,20 @@ CREATE TABLE IF NOT EXISTS `page` (
247 242 -- Дамп даних таблиці `page`
248 243 --
249 244  
250   -INSERT INTO `page` (`page_id`, `date_add`, `page_type_id`, `template_id`, `image_id`, `show`) VALUES
251   -(1, '2015-11-09 00:00:00', 0, 2, 0, 1),
252   -(2, '2015-11-09 00:00:00', 0, 1, 0, 1),
253   -(3, '2015-11-09 00:00:00', 0, 1, 0, 1),
254   -(4, '2015-11-09 00:00:00', 0, 1, 0, 1),
255   -(5, '2015-11-09 00:00:00', 0, 1, 0, 1),
256   -(6, '2015-11-09 00:00:00', 0, 2, 0, 1),
257   -(7, '2015-11-09 00:00:00', 0, 1, 0, 1),
258   -(8, '2015-11-09 00:00:00', 0, 3, 0, 1),
259   -(9, '2015-11-09 00:00:00', 0, 1, 0, 1),
260   -(10, '2015-11-09 00:00:00', 0, 1, 0, 1),
261   -(11, '2015-11-09 00:00:00', 0, 1, 0, 1),
262   -(12, '2015-11-09 00:00:00', 0, 2, 0, 1),
263   -(13, '2015-11-09 00:00:00', 0, 5, 0, 1);
  245 +INSERT INTO `page` (`page_id`, `date_add`, `show`) VALUES
  246 +(1, '2015-11-09 00:00:00', 1),
  247 +(2, '2015-11-09 00:00:00', 1),
  248 +(3, '2015-11-09 00:00:00', 1),
  249 +(4, '2015-11-09 00:00:00', 1),
  250 +(5, '2015-11-09 00:00:00', 1),
  251 +(6, '2015-11-09 00:00:00', 1),
  252 +(7, '2015-11-09 00:00:00', 1),
  253 +(8, '2015-11-09 00:00:00', 1),
  254 +(9, '2015-11-09 00:00:00', 1),
  255 +(10, '2015-11-09 00:00:00', 1),
  256 +(11, '2015-11-09 00:00:00', 1),
  257 +(12, '2015-11-09 00:00:00', 1),
  258 +(13, '2015-11-09 00:00:00', 1);
264 259  
265 260 -- --------------------------------------------------------
266 261  
... ... @@ -270,11 +265,9 @@ INSERT INTO `page` (`page_id`, `date_add`, `page_type_id`, `template_id`, `image
270 265  
271 266 CREATE TABLE IF NOT EXISTS `page_lang` (
272 267 `page_id` int(6) NOT NULL,
273   - `page_title` varchar(256) NOT NULL,
274 268 `meta_title` varchar(512) NOT NULL,
275 269 `meta_description` varchar(512) NOT NULL,
276 270 `text` text NOT NULL,
277   - `page_alias` varchar(256) NOT NULL,
278 271 `lang_id` int(2) NOT NULL,
279 272 PRIMARY KEY (`page_id`,`lang_id`)
280 273 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
... ... @@ -283,72 +276,20 @@ CREATE TABLE IF NOT EXISTS `page_lang` (
283 276 -- Дамп даних таблиці `page_lang`
284 277 --
285 278  
286   -INSERT INTO `page_lang` (`page_id`, `page_title`, `meta_title`, `meta_description`, `text`, `page_alias`, `lang_id`) VALUES
287   -(1, 'Главная страница', 'Главная страница | ukrseeds.net.ua', '', '', '/', 2),
288   -(2, 'О компании', 'О компании | ukrseeds.net.ua', '', 'На протяжении уже нескольких лет, наша компания производит заготовку и выращивание на договорной основе семян овощных и цветочных культур в Украине, а также ведет тесное сотрудничество с ведущими европейскими семенными компаниями. Перед тем как поступить в продажу, продукция проходит проверку в нашей лаборатории и Государственной семенной инспекции, что подтверждается сертификатом и гарантирует качество семян согласно ГОСТу Украины. ', 'about', 2),
289   -(3, 'Условия использования', 'Условия использования | ukrseeds.net.ua', '', '', 'use', 2),
290   -(4, 'Условия сотрудничества', 'Условия сотрудничества | ukrseeds.net.ua', '', '', 'corporation', 2),
291   -(5, 'Контакты', 'Контакты | ukrseeds.net.ua', '', 'Головной офис:<br/>\r\nг. Киев-04128, ул. Стеценка, 35,<br/>\r\nт/ф: /044/ 503-7827, e-mail: ukrseeds@gmail.com<br/>\r\nFacebook <br/>\r\n<br/>\r\nМелкооптовая продажа:<br/>\r\nг. Киев, бульвар Академика Вернадского, 14А,<br/>\r\nтел.: /044/ 450-7932, факс: /044/ 452-6497,<br/>\r\ne-mail: 4507932@gmail.com <br/>', 'contacts', 2),
292   -(6, 'Магазины', 'Магазины | ukrseeds.net.ua', '', '', 'shops', 2),
293   -(7, 'Поставщики', 'Поставщики | ukrseeds.net.ua', '', 'На сегодняшний день, благодаря динамическому развитию дилерской сети, наша продукция представлена во многих регионах Украины, и уже многие имели возможность удостовериться в качестве наших семян.\nС уважением,\nдиректор ТМ "Семена Украины"', 'vendors', 2),
294   -(8, 'Каталог товаров', 'Каталог товаров | ukrseeds.net.ua', '', '', 'catalog', 2),
295   -(9, 'Оплата', 'Оплата | ukrseeds.net.ua', '', '', 'payment', 2),
296   -(10, 'Доставка', 'Доставка | ukrseeds.net.ua', '', '', 'delivery', 2),
297   -(11, 'Гарантия', 'Гарантия | ukrseeds.net.ua', '', '', 'warranty', 2),
298   -(12, 'Акции', 'Акции | ukrseeds.net.ua', '', '', 'promotion', 2),
299   -(13, 'Новости', 'Новости | ukrseeds.net.ua', '', '', 'news', 2);
300   -
301   --- --------------------------------------------------------
302   -
303   ---
304   --- Структура таблиці `page_type`
305   ---
306   -
307   -CREATE TABLE IF NOT EXISTS `page_type` (
308   - `page_type_id` int(2) NOT NULL AUTO_INCREMENT,
309   - `page_type_name` varchar(56) NOT NULL,
310   - PRIMARY KEY (`page_type_id`)
311   -) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;
312   -
313   ---
314   --- Дамп даних таблиці `page_type`
315   ---
316   -
317   -INSERT INTO `page_type` (`page_type_id`, `page_type_name`) VALUES
318   -(1, 'tag'),
319   -(2, 'news'),
320   -(3, 'article'),
321   -(4, 'category'),
322   -(5, 'page');
323   -
324   --- --------------------------------------------------------
325   -
326   ---
327   --- Структура таблиці `page_type_lang`
328   ---
329   -
330   -CREATE TABLE IF NOT EXISTS `page_type_lang` (
331   - `page_type_id` int(2) NOT NULL,
332   - `page_type_title` varchar(50) NOT NULL,
333   - `lang_id` int(2) NOT NULL,
334   - PRIMARY KEY (`page_type_id`,`lang_id`)
335   -) ENGINE=InnoDB DEFAULT CHARSET=utf8;
336   -
337   ---
338   --- Дамп даних таблиці `page_type_lang`
339   ---
340   -
341   -INSERT INTO `page_type_lang` (`page_type_id`, `page_type_title`, `lang_id`) VALUES
342   -(1, 'Тег', 1),
343   -(1, 'Тег', 2),
344   -(2, 'Новини', 1),
345   -(2, 'Новости', 2),
346   -(3, 'Статья', 1),
347   -(3, 'Статья', 2),
348   -(4, 'Категорія', 1),
349   -(4, 'Категория', 2),
350   -(5, 'Сторінка', 1),
351   -(5, 'Страница', 2);
  279 +INSERT INTO `page_lang` (`page_id`, `meta_title`, `meta_description`, `text`, `lang_id`) VALUES
  280 +(1, 'Главная страница | ukrseeds.net.ua', '', '', 2),
  281 +(2, 'О компании | ukrseeds.net.ua', '', 'На протяжении уже нескольких лет, наша компания производит заготовку и выращивание на договорной основе семян овощных и цветочных культур в Украине, а также ведет тесное сотрудничество с ведущими европейскими семенными компаниями. Перед тем как поступить в продажу, продукция проходит проверку в нашей лаборатории и Государственной семенной инспекции, что подтверждается сертификатом и гарантирует качество семян согласно ГОСТу Украины. ', 2),
  282 +(3, 'Условия использования | ukrseeds.net.ua', '', '', 2),
  283 +(4, 'Условия сотрудничества | ukrseeds.net.ua', '', '', 2),
  284 +(5, 'Контакты | ukrseeds.net.ua', '', 'Головной офис:<br/>\r\nг. Киев-04128, ул. Стеценка, 35,<br/>\r\nт/ф: /044/ 503-7827, e-mail: ukrseeds@gmail.com<br/>\r\nFacebook <br/>\r\n<br/>\r\nМелкооптовая продажа:<br/>\r\nг. Киев, бульвар Академика Вернадского, 14А,<br/>\r\nтел.: /044/ 450-7932, факс: /044/ 452-6497,<br/>\r\ne-mail: 4507932@gmail.com <br/>', 2),
  285 +(6, 'Магазины | ukrseeds.net.ua', '', '', 2),
  286 +(7, 'Поставщики | ukrseeds.net.ua', '', 'На сегодняшний день, благодаря динамическому развитию дилерской сети, наша продукция представлена во многих регионах Украины, и уже многие имели возможность удостовериться в качестве наших семян.\nС уважением,\nдиректор ТМ "Семена Украины"', 2),
  287 +(8, 'Каталог товаров | ukrseeds.net.ua', '', '', 2),
  288 +(9, 'Оплата | ukrseeds.net.ua', '', '', 2),
  289 +(10, 'Доставка | ukrseeds.net.ua', '', '', 2),
  290 +(11, 'Гарантия | ukrseeds.net.ua', '', '', 2),
  291 +(12, 'Акции | ukrseeds.net.ua', '', '', 2),
  292 +(13, 'Новости | ukrseeds.net.ua', '', '', 2);
352 293  
353 294 -- --------------------------------------------------------
354 295  
... ... @@ -446,6 +387,8 @@ INSERT INTO `template_lang` (`template_id`, `template_title`, `lang_id`) VALUES
446 387  
447 388 CREATE TABLE IF NOT EXISTS `termin` (
448 389 `termin_id` int(6) NOT NULL AUTO_INCREMENT,
  390 + `template_id` int(6) NOT NULL,
  391 + `show` tinyint(1) NOT NULL,
449 392 PRIMARY KEY (`termin_id`)
450 393 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=17 ;
451 394  
... ... @@ -453,23 +396,23 @@ CREATE TABLE IF NOT EXISTS `termin` (
453 396 -- Дамп даних таблиці `termin`
454 397 --
455 398  
456   -INSERT INTO `termin` (`termin_id`) VALUES
457   -(1),
458   -(2),
459   -(3),
460   -(4),
461   -(5),
462   -(6),
463   -(7),
464   -(8),
465   -(9),
466   -(10),
467   -(11),
468   -(12),
469   -(13),
470   -(14),
471   -(15),
472   -(16);
  399 +INSERT INTO `termin` (`termin_id`, `template_id`, `show`) VALUES
  400 +(1, 2, 1),
  401 +(2, 2, 1),
  402 +(3, 2, 1),
  403 +(4, 2, 1),
  404 +(5, 2, 1),
  405 +(6, 2, 1),
  406 +(7, 2, 1),
  407 +(8, 2, 1),
  408 +(9, 2, 1),
  409 +(10, 2, 1),
  410 +(11, 2, 1),
  411 +(12, 2, 1),
  412 +(13, 2, 1),
  413 +(14, 2, 1),
  414 +(15, 2, 1),
  415 +(16, 2, 1);
473 416  
474 417 -- --------------------------------------------------------
475 418  
... ... @@ -479,6 +422,7 @@ INSERT INTO `termin` (`termin_id`) VALUES
479 422  
480 423 CREATE TABLE IF NOT EXISTS `termin_lang` (
481 424 `termin_id` int(6) NOT NULL,
  425 + `termin_alias` varchar(50) NOT NULL,
482 426 `termin_title` varchar(256) DEFAULT NULL,
483 427 `lang_id` int(2) NOT NULL,
484 428 PRIMARY KEY (`termin_id`,`lang_id`)
... ... @@ -488,73 +432,112 @@ CREATE TABLE IF NOT EXISTS `termin_lang` (
488 432 -- Дамп даних таблиці `termin_lang`
489 433 --
490 434  
491   -INSERT INTO `termin_lang` (`termin_id`, `termin_title`, `lang_id`) VALUES
492   -(1, 'Главная страница', 2),
493   -(2, 'О компании', 2),
494   -(3, 'Условия использования', 2),
495   -(4, 'Условия сотрудничества', 2),
496   -(5, 'Контакты', 2),
497   -(6, 'Магазины', 2),
498   -(7, 'Поставщики', 2),
499   -(8, 'Каталог товаров', 2),
500   -(9, 'Оплата', 2),
501   -(10, 'Доставка', 2),
502   -(11, 'Гарантия', 2),
503   -(12, 'Акции ', 2),
504   -(13, 'Материалы/блог', 2),
505   -(14, 'Арбуз', 2),
506   -(15, 'Артишок', 2),
507   -(16, 'Баклажан', 2);
  435 +INSERT INTO `termin_lang` (`termin_id`, `termin_alias`, `termin_title`, `lang_id`) VALUES
  436 +(1, '/', 'Главная страница', 2),
  437 +(2, 'about', 'О компании', 2),
  438 +(3, 'use', 'Условия использования', 2),
  439 +(4, 'corporation', 'Условия сотрудничества', 2),
  440 +(5, 'contacts', 'Контакты', 2),
  441 +(6, 'shops', 'Магазины', 2),
  442 +(7, 'vendors', 'Поставщики', 2),
  443 +(8, 'catalog', 'Каталог товаров', 2),
  444 +(9, 'payment', 'Оплата', 2),
  445 +(10, 'delivery', 'Доставка', 2),
  446 +(11, 'warranty', 'Гарантия', 2),
  447 +(12, 'promotion', 'Акции ', 2),
  448 +(13, 'news', 'Материалы/блог', 2),
  449 +(14, 'arbuz', 'Арбуз', 2),
  450 +(15, 'artishok', 'Артишок', 2),
  451 +(16, 'baklazhan', 'Баклажан', 2);
508 452  
509 453 -- --------------------------------------------------------
510 454  
511 455 --
512   --- Структура таблиці `termin_option`
  456 +-- Структура таблиці `termin_relation`
513 457 --
514 458  
515   -CREATE TABLE IF NOT EXISTS `termin_option` (
516   - `termin_id` int(6) NOT NULL,
517   - `termin_pid` int(6) NOT NULL,
518   - `level` int(6) NOT NULL,
519   - `lft` int(6) NOT NULL,
520   - `rgt` int(6) NOT NULL,
521   - `sortorder` int(6) NOT NULL,
522   - PRIMARY KEY (`termin_id`,`termin_pid`)
  459 +CREATE TABLE IF NOT EXISTS `termin_relation` (
  460 + `termin_id_1` int(6) NOT NULL,
  461 + `termin_id_2` int(6) NOT NULL,
  462 + `parent` int(6) NOT NULL,
  463 + `is_default` tinyint(1) NOT NULL,
  464 + PRIMARY KEY (`termin_id_1`,`termin_id_2`)
523 465 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
524 466  
525 467 --
526   --- Дамп даних таблиці `termin_option`
  468 +-- Дамп даних таблиці `termin_relation`
527 469 --
528 470  
529   -INSERT INTO `termin_option` (`termin_id`, `termin_pid`, `level`, `lft`, `rgt`, `sortorder`) VALUES
530   -(1, 0, 0, 0, 0, 0),
531   -(2, 0, 0, 0, 0, 0),
532   -(3, 0, 0, 0, 0, 0),
533   -(4, 0, 0, 0, 0, 0),
534   -(5, 0, 0, 0, 0, 0),
535   -(6, 0, 0, 0, 0, 0),
536   -(7, 0, 0, 0, 0, 0),
537   -(8, 0, 0, 0, 0, 0),
538   -(9, 0, 0, 0, 0, 0),
539   -(10, 0, 0, 0, 0, 0),
540   -(11, 0, 0, 0, 0, 0),
541   -(12, 0, 0, 0, 0, 0),
542   -(13, 0, 0, 0, 0, 0),
543   -(14, 0, 0, 0, 0, 1),
544   -(15, 0, 0, 0, 0, 1),
545   -(16, 0, 0, 0, 0, 1);
  471 +INSERT INTO `termin_relation` (`termin_id_1`, `termin_id_2`, `parent`, `is_default`) VALUES
  472 +(1, 0, 0, 0),
  473 +(2, 0, 0, 0),
  474 +(3, 0, 0, 0),
  475 +(4, 0, 0, 0),
  476 +(5, 0, 0, 0),
  477 +(6, 0, 0, 0),
  478 +(7, 0, 0, 0),
  479 +(8, 0, 0, 0),
  480 +(9, 0, 0, 0),
  481 +(10, 0, 0, 0),
  482 +(11, 0, 0, 0),
  483 +(12, 0, 0, 0),
  484 +(13, 0, 0, 0),
  485 +(14, 0, 0, 0),
  486 +(15, 0, 0, 0),
  487 +(16, 0, 0, 0);
546 488  
547 489 -- --------------------------------------------------------
548 490  
549 491 --
550   --- Структура таблиці `termin_relation`
  492 +-- Структура таблиці `termin_type`
551 493 --
552 494  
553   -CREATE TABLE IF NOT EXISTS `termin_relation` (
554   - `termin_id` int(6) NOT NULL,
555   - `termin_relation_id` int(6) NOT NULL
  495 +CREATE TABLE IF NOT EXISTS `termin_type` (
  496 + `termin_type_id` int(2) NOT NULL AUTO_INCREMENT,
  497 + `termin_type_name` varchar(50) NOT NULL,
  498 + PRIMARY KEY (`termin_type_id`)
  499 +) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;
  500 +
  501 +--
  502 +-- Дамп даних таблиці `termin_type`
  503 +--
  504 +
  505 +INSERT INTO `termin_type` (`termin_type_id`, `termin_type_name`) VALUES
  506 +(1, 'tag'),
  507 +(2, 'news'),
  508 +(3, 'article'),
  509 +(4, 'category'),
  510 +(5, 'page');
  511 +
  512 +-- --------------------------------------------------------
  513 +
  514 +--
  515 +-- Структура таблиці `termin_type_lang`
  516 +--
  517 +
  518 +CREATE TABLE IF NOT EXISTS `termin_type_lang` (
  519 + `termin_type_id` int(2) NOT NULL,
  520 + `termin_type_title` varchar(50) NOT NULL,
  521 + `lang_id` int(2) NOT NULL,
  522 + PRIMARY KEY (`termin_type_id`,`lang_id`)
556 523 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
557 524  
  525 +--
  526 +-- Дамп даних таблиці `termin_type_lang`
  527 +--
  528 +
  529 +INSERT INTO `termin_type_lang` (`termin_type_id`, `termin_type_title`, `lang_id`) VALUES
  530 +(1, 'Тег', 1),
  531 +(1, 'Тег', 2),
  532 +(2, 'Новини', 1),
  533 +(2, 'Новости', 2),
  534 +(3, 'Статья', 1),
  535 +(3, 'Статья', 2),
  536 +(4, 'Категорія', 1),
  537 +(4, 'Категория', 2),
  538 +(5, 'Сторінка', 1),
  539 +(5, 'Страница', 2);
  540 +
558 541 -- --------------------------------------------------------
559 542  
560 543 --
... ...
frontend/config/main.php
1 1 <?php
  2 +use yii\web\UrlManager;
2 3 $params = array_merge(
3 4 require(__DIR__ . '/../../common/config/params.php'),
4 5 require(__DIR__ . '/../../common/config/params-local.php'),
... ... @@ -29,12 +30,15 @@ return [
29 30 'errorAction' => 'site/error',
30 31 ],
31 32 'urlManager' => [
  33 + 'baseUrl' => '/',
32 34 'enablePrettyUrl' => true,
33   - 'showScriptName' => false,
34   - 'rules' => [
35   - '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
36   - ]
  35 + 'showScriptName' => false,
  36 + 'rules' => [
  37 + '' => 'site/index',
  38 + '<controller>/<action>' => '<controller>/<action>',
  39 + 'contacts' => 'page/page'
  40 + ]
37 41 ],
38 42 ],
39 43 'params' => $params,
40 44 -];
  45 +];
41 46 \ No newline at end of file
... ...
frontend/controllers/PageController.php
... ... @@ -16,7 +16,7 @@ class PageController extends Controller
16 16 * @return mixed
17 17 */
18 18 public function actionPage($controller_name, $page_id, $template_file)
19   - {
  19 + { die;
20 20 // страница
21 21 $page = Page::getPageById ($page_id);
22 22  
... ...
frontend/controllers/SiteController.php
... ... @@ -80,12 +80,21 @@ class SiteController extends Controller
80 80 $url = '/';
81 81 }
82 82  
  83 + // находим страницу
83 84 if ($page = Page::getPageByUrl ($url))
84 85 {
  86 + // проверяем или не закрыта и есть все файлы
85 87 if (Page::isShow ($page)
86 88 && $page['template_file'] != NULL
87 89 && is_file (yii::$app->viewPath.'/'.$page['template_file'].'.php'))
88 90 {
  91 + // загружаем роуты
  92 +/*
  93 + yii::$app->UrlManager->rules += [
  94 + 'maгаз' => 'shop/categoty',
  95 + ];
  96 +*/
  97 + // подключаем
89 98 return Yii::$app->runAction($page['template_file'], [
90 99 'controller_name' => $page['controller_name'],
91 100 'page_id' => $page['page_id'],
... ...
frontend/views/page/home.php
1   -Хуй
2 1 \ No newline at end of file
  2 +home
3 3 \ No newline at end of file
... ...