Dimon: Не совсем понял как сделать =)
Вот в модели есть метод
public function getIdManufacturer()
{
return $this->hasOne(YiiManufacturer::className(), ['id_manufacturer' => 'id_manufacturer']);
}
А во вьюшке index.php
Надо вывести вместо ID manufacturer его название (производителя)
Так вы смотрите исходный код шаблона, htaccess не меняет код шаблона =) В вашем случае он при обращении к css файлу грузит его с другого сервера. В качестве эксперимента вы можете в этом файле стилей написать
body { background: red !important; }
и увидите, что стили применяются.
dk-web:
Раньше я писал свои админки, фреймворки, либы... Но когда уткнулся в потолок личной производительности, понял, что проще нанять коллегу, разбирающегося(юся) в каком-либо известном фреймворке, чем учить своим хитростям =)
А вот простейшая реализация вашего вопрова:
1) С помощью mod rewrite или подобной либы делаете так, чтобы в админке все запросы валились на файл /admin/index.php
1.5) Если нет желаения разбираться с mod_rewrite то просто в каждом контроллере сайта делаете inclide('например libs/check_auth.php');
2) В файле /admin/index.php проверяете, авторизовался пользователь или нет (допустим в сессии лежит логин и зашифрованный пароль) и они совпадают с логином/паролем в файлике (или БД).
Если пароль существует и подошел, то идете к пункту 3, иначе выводите страницу с формой авторизации (где можно ввести логин и пароль)
3) В файле index.php парсите $_SERVER['REQUEST_URI'] и определяете какой нужно подключить контроллер.
4) Подключаете контроллер из папки, например admin/controllers
Разделять систему на 2 отдельные части удобно, если вы хотите размещать админку на другом виртуальном хостинге, например, или на отдельном сервере.
Если все всегда на одной площадке, то лучше использовать общие библиотеки, чтобы предотвратить дублирование и разрастания кода, и файлов.
/yiipath - это мой путь к сайту.
bend/backend (я так сократил)
Контроллер как раз menu
А action - index
Я думаю, что все вопросы отпали бы, если бы вы попробовали установить этот пакет)
ayapergenov: Сложно понять всю картину по этой части кода, но мне кажется, что можно просто написать после $(document).ready(function(){....
Вот этот код
if ( $.cookie('short_template').length > 0 ) {
change_tpl($.cookie('short_template'));
}
Максим Тимофеев:
'label' => Yii::t('app', 'Модули'),
'items' => [
['label' => Yii::t('app', 'Разделы'), 'url' => ['/tree/index']],
['label' => Yii::t('app', 'Модели'), 'url' => ['/base/index', 'modul' => 'models']],
...
Админка для такого массива должна выглядеть примерно так:
Пункт: Модули
Ссылка: ['/base/index', и возможность добавить кучу параметров дополнительных, вроде 'modul' => 'models'...]
Подразделы
1__________________ (это такой же пункт меню с возможностью сложного формирования url)
2__________________ (это такой же пункт меню с возможностью сложного формирования url)
.....
Все это должно редактироваться, добавляться и удаляться.
+ желательно должна быть возможность привязки пункта меню к РОЛИ
и по ролям должны быть хитрые правила, они могут привязываться к контроллеру, екшену или любому из гет параметров
Например, редактора, нельзя пускать туда, где есть modul = models
Ясно, что это не нужно обрабатывать в шаблоне.
Так же для меню надо написать сортировки с драг и дропом и прочими сложностями =)
Чтобы этого не делать я и пытался поставить тот модуль.
Но уже почти все сделал сам.
Максим Тимофеев: Проблема в глобальности этого модуля =)
0) Из коробки оно работает на базе массива
1) Нужно написать систему, которая ассоциативный массив для построения урлов будет обслуживать веб интерфейсом через базу данных
2) Для каждого пункта меню надо формировать правило доступа к разделу
Это все писать надо недели 2, зачем это делать, если есть готовое решение, которое стоит всего лишь правильно установить =) у меня с установкой проблемы)
Недавно писал сам подобную систему на собственной CMS - frline.candevelop.ru
ушло 2,5 недели :)
Советую использовать фреймворк - я предпочитаю Yii2.
Но до этого шага Вам стоит научиться программировать на PHP. Причем, совершенно не на поверхностном уровне.
Спасибо за Ваш комментарий. Не делал, качал готовый архив. Потом поменял ему всю структуру.
Сегодня в процессе борьбы с задачей наткнулся на ваш ответ на этот вопрос: https://github.com/yiisoft/yii2/issues/740
Но рождается другой вопрос =)
Как его включить в состав дистрибутива? Где можно почитать про composer install именно для этого случая?
Вот в модели есть метод
public function getIdManufacturer()
{
return $this->hasOne(YiiManufacturer::className(), ['id_manufacturer' => 'id_manufacturer']);
}
А во вьюшке index.php
Надо вывести вместо ID manufacturer его название (производителя)
<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
'id',
'image1',
'id_manufacturer' => [
'label' => 'Производитель',
'format' => 'raw',
'value' => $model->idManufacturer
],
...
Но он выводит Empty в ячейке =)