laker-ls/yii2-dynamic-page

Module represent dynamic pages.


Keywords
module, extension, yii2
License
BSD-3-Clause

Documentation

yii2-dynamic-page

Stable Version Unstable Version License Total Downloads

ВНИМАНИЕ: Для работы необходим 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.