laker-ls / yii2-dynamic-page
Module represent dynamic pages.
Installs: 20
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Forks: 0
Open Issues: 0
Type:yii2-extension
Requires
- dektrium/yii2-user: ^0.9.12
- developeruz/yii2-db-rbac: ~1.1.0
- kartik-v/yii2-tree-manager: 1.1.2
- kartik-v/yii2-widget-select2: 2.1.3
- laker-ls/yii2-nested-set-menu: ~1.2.0
- yii2tech/ar-position: ~1.0.1
README
yii2-dynamic-page
ВНИМАНИЕ: Для работы необходим Rbac с существующей ролью.
Реализация динамических страниц, которые создаются с помощью CRUD. Каждая динамическая страница является категорией или статьей. Категория может содержать в себе вложенности (статьи/категории). Статьи не могут содержать в себе вложенности.
Подробная документация по данному расширению здесь.
Установка
Рекомендуемый способ установки этого расширения является использование composer. Проверьте composer.json на предмет требований и зависимостей данного расширения.
Для установки запустите
$ php composer.phar require laker-ls/yii2-dynamic-page "~1.3.0"
или добавьте в composer.json
в раздел require
следующую строку
"laker-ls/yii2-dynamic-page": "~1.3.0"
Смотрите список изменений для подробной информации о версиях.
Выполните миграции в консоли:
yii migrate --migrationPath=@lakerLS/dynamicPage/migrations
Подключение
В конфиге приложения подключите модули:
'modules' => [ 'dynamic-page' => [ 'class' => 'lakerLS\dynamicPage\Module', ], 'treemanager' => [ // модуль для работы с деревом категорий. 'class' => '\kartik\tree\Module', ] ]
В urlManager
подключаем правила для динамических страниц, после чего приложение будет искать прежде всего
статическую страницу по указанному адресу, если таковой нет, поиск осуществляется в динамических страницах.
ВАЖНО: все переопределения путей совершать перед подключением динамических страниц.
'urlManager' => [ 'enablePrettyUrl' => true, 'showScriptName' => false, 'rules' => [ // Переопределение путей. ['class' => 'lakerLS\dynamicPage\components\DynamicPage'], ], ],
В админ-панели, где производится управление категориями jQuery должен быть подключен в начало страницы.
Для этого вы можете переопределить jQuery в config/web
следующим образом:
'components' => [ 'assetManager' => [ 'bundles' => [ 'yii\web\JqueryAsset' => [ 'jsOptions' => ['position' => \yii\web\View::POS_BEGIN], 'js' => [ '//ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js', // Указать путь к вашему jQuery ] ], ], ],
Так же вы можете задать расположение для всех js файлов в AssetBundle
, где подключены все js файлы для вашего приложения (админ-панели)
следующим образом:
ВАЖНО: Данный вариант не является рекомендуемым.
public $jsOptions = ['position' => \yii\web\View::POS_BEGIN];
Расширение готово к работе.
Использование модуля
Читайте раздел "Использование" в подробной документации.
Переопределение моделей, контроллеров, представлений
Для каждого переопределения существует подробная документация:
Отключение bootstrap модуля
По умолчанию расширение подключает 3 версию bootstrap.
Вероятнее всего вы используйте bootstrap в своем проекте, т.е. он подключен в зависимостях вашего основного AssetBundle
,
в таком случае необходимо отключить bootstrap модуля, для этого в config/params
установите следующее свойство:
return [ 'bsDependencyEnabled' => false, ];
В случае отключения bootstrap модуля, вы должны следить за тем, что бы в вашем AssetBundle
была установлены следующише
зависимости:
public $depends = [ 'yii\bootstrap\BootstrapAsset', 'yii\bootstrap\BootstrapPluginAsset', ];
Лицензия
yii2-pencil выпущено по лицензии BSD-3-Clause. Ознакомиться можно в файле LICENSE.md
.