• Как подключить jquery в Yii2?

    @vlad_101
    Бинго! Ответ оказался в документации:
    при подлючении js в файле AppAsset.php, js-файлы подключаются внизу страницы.
    Чтобы подлючить в хедере нужно в AppAsset.php добавить:
    public $jsOptions = ['position' => \yii\web\View::POS_HEAD];

    пример:
    namespace app\assets;
    use yii\web\AssetBundle;

    class AppAsset extends AssetBundle
    {
    public $basePath = '@webroot';
    public $baseUrl = '@web';
    public $css = [
    'css/site.css',
    ];
    public $js = [
    '//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js'
    ];
    public $depends = [
    'yii\web\YiiAsset',
    'yii\bootstrap\BootstrapAsset',
    ];
    public $jsOptions = ['position' => \yii\web\View::POS_HEAD];
    }

    Но строчку '//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js' вообще по сути не нужно писать, т.к. в yii2 и так по умолчанию подключается jquery. Поэтому достаточно установить подключение на уровне хедера.
    Ответ написан
    Комментировать
  • Логика разделения frontend и backend на Yii2 advanced?

    booomerang
    @booomerang
    Разработчик крутизны
    Есть еще папка common, в которой может храниться, то что относиться к обоим приложениям.
    Вообще не важно где создавать модельки (не контроллеры), потому что всё равно по неймспейсам получаешь их лоадинг в нужном месте... (Но легче всего создавать в common'e).
    А вот контроллеры это уже сам решай, где тебе их создавать, потому что они идут как пути, они получают на вход данные из урла, и скорее всего будут отличаться у фронта и бэкенда.
    Ответ написан
    3 комментария
  • Логика разделения frontend и backend на Yii2 advanced?

    ValentinSaik
    @ValentinSaik
    Backend-Developer
    Если тебе нужно будет работать с моделями / формами и на фронтенде и на бэкенде то помещай их в папку common/models, например модель Users с помощью которой ты выводишь список пользователей, она тебе будет нужна как в фронтенде так и в админке, ее следует поместить в коммон, если же ты пишешь например модель Comments которая будет выводить комментарии к определенному посту, но ты не будешь выводить комментарии в админке то помещай эту модель в папку frontend/models, удобнее будет подключить ( use app/models/Comments; ) если же тебе надо вывести какую то статистику только в админке то создавай модели в папке backend/models.
    Но ничего страшного не случится если ты модель создашь не в той папке, просто надо будет менять путь подключения в нейсмпейсе. А вот с контроллерами тут по другому, их ты создаешь только в нужном приложении, если создаешь контроллер StatisticsController который будет выводить какую то статистику то помещать его надо именно в бэкенд, потому что заходить на него ты будешь из админки, если же ты хочешь что бы он был доступен и из админки и из фронтенда - создай 2 контроллера. Надеюсь все понятно изложил
    Ответ написан
    2 комментария