Задать вопрос
  • Yii2 после установки нет страницы приветствия?

    webinar
    @webinar Куратор тега Yii
    Учим yii: https://youtu.be/-WRMlGHLgRg
    а init делали, похоже что нет
    Хотел в доки носом ткнуть, но там видимо что-то намудрили и реально сейчас нет этого, а было.
    Короче, в консоле
    /path/to/yii-application/init
    в вашем случае видимо
    cd domains\basic
    php init


    Вот есть норм гайд, проверил, только для advanced а не basik https://github.com/yiisoft/yii2-app-advanced/blob/...
    И я бы советовал разбираться именно в нем, так как потом меньше вопросов будет, там все логичнее.
    Вот еще видео по установке
    Ответ написан
  • Yii2 выборка данных с FindBySql?

    webinar
    @webinar Куратор тега Yii
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Видимо это новая модель. И скорее всего решение такое:
    if(!$model->isNewRecord){
    //тут ваша логика, тут точно есть id
    }
    Ответ написан
    Комментировать
  • Как сделать такую тень в .svg?

    webinar
    @webinar Куратор тега Веб-разработка
    Учим yii: https://youtu.be/-WRMlGHLgRg
    А зачем делать фильтрами тень в теле svg, если проще использовать css https://codepen.io/anon/pen/JJwvwo
    Ответ написан
  • Как перезаписать значение переменной в config/params.php из программы?

    webinar
    @webinar Куратор тега Yii
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Почему Yii::$app->params[ 'test' ] = 'новое значение'; не работает?

    работает, проведите эксперимент:
    Yii::$app->params[ 'test' ] = 'новое значение'; 
    echo Yii::$app->params[ 'test' ]; //выведет  'новое значение'

    Если не выведет, тогда пишите, что выводит и есть ли ошибки, предварительно включив все ошибки php
    Ответ написан
  • Как включить кэширование rbac?

    webinar
    @webinar Куратор тега Yii
    Учим yii: https://youtu.be/-WRMlGHLgRg
    1. Вот гайд по установке Apc: sitear.ru/material/apc-php
    2. Не обязательно использовать для rbac apc, он будет работать и с другими видами кеша. Выбирайте:
    1. yii\caching\ApcCache: uses PHP APC extension. This option can be considered as the fastest one when dealing with cache for a centralized thick application (e.g. one server, no dedicated load balancers, etc.).
    2. yii\caching\DbCache: uses a database table to store cached data. To use this cache, you must create a table as specified in yii\caching\DbCache::$cacheTable.
    3. yii\caching\DummyCache: serves as a cache placeholder which does no real caching. The purpose of this component is to simplify the code that needs to check the availability of cache. For example, during development or if the server doesn't have actual cache support, you may configure a cache component to use this cache. When an actual cache support is enabled, you can switch to use the corresponding cache component. In both cases, you may use the same code Yii::$app->cache->get($key) to attempt retrieving data from the cache without worrying that Yii::$app->cache might be null.
    4. yii\caching\FileCache: uses standard files to store cached data. This is particularly suitable to cache large chunk of data, such as page content.
    5. yii\caching\MemCache: uses PHP memcache and memcached extensions. This option can be considered as the fastest one when dealing with cache in a distributed applications (e.g. with several servers, load balancers, etc.)
    6. yii\redis\Cache: implements a cache component based on Redis key-value store (redis version 2.6.12 or higher is required).
    7. yii\caching\WinCache: uses PHP WinCache (see also) extension.
    8. yii\caching\XCache: uses PHP XCache extension.
    9. Zend Data Cache as the underlying caching medium.

    Вот тут подробнее: www.yiiframework.com/doc-2.0/guide-caching-data.html
    Ответ написан
  • Yii2 advanced два поддомена?

    webinar
    @webinar Куратор тега Yii
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Так же все как в advanced шаблоне, только добавляется рядом с "frontend" и "backend" папка "someAnotherName"
    Ответ написан
  • Общие стили для проекта. Как распределить их в yii2 advanced?

    webinar
    @webinar Куратор тега Yii
    Учим yii: https://youtu.be/-WRMlGHLgRg
    если это пара файлов то можно в htaccess перенаправить запрос.
    Можно симлинки сделать
    Можно assets настроить, как написал Abdula Magomedov, но при этом все равно создадутся 2 дубля в папке assets на фронте
    Ответ написан
  • Yii2 - реализация доменных шаблонов?

    webinar
    @webinar Куратор тега Yii
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Вариантов несколько.
    1. смотрим $_SERVER['SERVER_NAME'] и отталкиваясь от него устанавливаем тему.
    2. каждый поддомен это отдельное app, тогда как бы все из коробки и так есть
    Все зависит нужны ли разные конфиги и т.д. Если только темы, то 1 вариант, если не только то 2-й.
    Ответ написан
  • Как правильно переопределить модуль yii2-images?

    webinar
    @webinar Куратор тега Yii
    Учим yii: https://youtu.be/-WRMlGHLgRg
    При обновлении чего? Модуля? Тогда или отключите его обновление или сделайте клон себе в github и используйте его. Просто переопределение не гарантирует, что Ваш код после обновления будет корректно работать.
    Ответ написан
    3 комментария
  • Как правильно хранить факт прочтения новости пользователем?

    webinar
    @webinar Куратор тега Веб-разработка
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Как вариант, поле i_read в пользователе. Там в виде json хранить список id прочитанных. Соответственно при выборке из новостей исключать эти id. Но есть опасения, что будет превышен лимит поля.
    На мой взгляд оптимальный вариант, как раз тот, который Вас почему-то смущает. А именно отдельная таблица user_id | news_id
    Ответ написан
    8 комментариев
  • Какой язык программирования стоит выбрать для создания простой 2D RPG?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    пробовал с++

    ну и как? Что именно пробовали, потому что если бы дошли хотя бы до середины учебника данный вопрос не стоял бы. Unity - это вообще не язык. Python - возможно, но странно.
    Есть куча игровых движков, кроме Unity, которые используют c++. Самые популярные:
    UnrealEngine и CryEngine
    Но вот для создания чего либо, попробовать язык мало, надо бы поучить. Сам язык, движок, сопутствующие технологии и ПО.
    Ответ написан
    Комментировать
  • Как внедрить на сайт викторину с равнозначными ответами?

    webinar
    @webinar Куратор тега PHP
    Учим yii: https://youtu.be/-WRMlGHLgRg
    я не знаю ни javascript, ни php передо мной поставили следующую задачу: нужно сделать простейшую викторину

    Скажите тому кто поставил Вам задачу, что он олигофрен. И поинтересуйтесь кто у него бухгалтерию ведет, видимо слесарь. Детей воспитывает летчик, а проводку чинит кинокритик. Это нормально при крайней степени деменции.

    А если серьезно, найдите ему спеца на фриланс бирже, договоритесь, озвучьте цену. Возьмите все под контроль, решите, но не своими силами. Если Вам что-то поручили, не значит, что Вы должны сделать это сами.

    Если не секрет, какая должность у Вас. Очень интересно в контексте задачи и квалификации.
    Ответ написан
    Комментировать
  • Как отправлять Post запросы через beginForm на Yii2?

    webinar
    @webinar Куратор тега Yii
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Как правильно передавать post данные

    отправить post запрос, формой или иным способом. У Вас же есть форма, она отправляет post запрос, так что Вы уже это реализовали в чем проблема?

    чтобы контроллер их видел и обрабатывал

    $_POST //тут пост запрос, как обычно в php
    Yii::$app->request->post() //тоже самое, но средствами yii

    Что Вы понимаете под "обрабатывал", вот пример абстрактный:
    if(Yii::$app->request->isPost){
       $post = Yii::$app->request->post();
       echo $post['some_data'];
    }else{
       echo 'не пришел post запрос, плачем всем отделом';
    }
    Ответ написан
  • Как вернуть удаленный кэш из бекапа?

    webinar
    @webinar Куратор тега Yii
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Возможно причина в 0. Так как 0 это время. Если null - то время по умолчанию. Если 0 то 0 0 != null Тут стоит проверить, начиная с 2.0.11 "0" - бесконечно, а вот как в предыдущих не помню.
    При этом проверьте не определено ли время кеша в конфиге.
    Как странный, но возможный вариант: у Вас вообще yii не имеет доступа к runtime/cache на запись и кеш там просто не создается, как следствие Вы не видите возврата к старому кешу, так как его и не было. Такое возможно, так как хз с какими правами и от какого пользователя из бэкапа создается эта папка.
    Еще вариант: кеш не в runtime/cache, если в конфиге переопределена папка.
    Ответ написан
  • Как правильно запустить консольную команду чтобы выполнялась с определенного времени с определенным интервалом?

    webinar
    @webinar Куратор тега Yii
    Учим yii: https://youtu.be/-WRMlGHLgRg
    В console/config є файл schedule

    Что в этом файле? Из коробки в yii2 такого нет, Вы что-то добавили, что-то делаете, так хотя бы опишите что именно. Что в этом файле? Зачем от там вообще? В папке console/config обычно настройки, так что то что Вы в конфигурационный файл засунули
    $schedule->command('моя команда')->cron('*/10 7-18 * * *');

    Это уже странно. Но а что в переменной $schedule? Судя по синтаксису там объект, но какой?
    Ответ написан
  • Как в Yii2 вывести обрезанную фотографию?

    webinar
    @webinar Куратор тега Yii
    Учим yii: https://youtu.be/-WRMlGHLgRg
    делают так:
    обрезка обычно при загрузке, иногда делают при запросе фото, но там много подводных камней, так что советую именно при загрузке.
    хранить в базе надо только название фото, а вот миниатюры просто раскиданы по папкам. Вариантов структуры папок много, вот первый пример:
    echo '/images/originals/'.$model->imagename;  //оригиналы
    echo '/images/small/'.$model->imagename;  //миниатюры

    более гибкий вариант:
    echo '/images/2017/07/original/'.$model->imagename;  //оригиналы
    echo '/images/2017/07/400x400/'.$model->imagename;  //миниатюры 400x400
    echo '/images/2017/07/1000x/'.$model->imagename;  //миниатюры 1000xauto
    echo '/images/2017/07/x50/'.$model->imagename;  //миниатюры autox50

    соответственно можно создать метод в моделе и юзать как-то так:
    echo $model->getImageUrl('400x');
    Ответ написан
  • Как вытащить данные из двух таблиц в yii2?

    webinar
    @webinar Куратор тега Yii
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Не вижу тут смысла для join.Надо сделать связь в моделе production
    public function getImages(){
       return $this->hasMany(Images::classname(),['id_production'=>'id']);
    }

    Далее дата провайдер будет выглядеть так
    $dataProvider = new ActiveDataProvider([
        'query' => Production::find()
                ->with('images')
                ->where(['status' => 1])
                ->orderBy('id DESC')->limit(12) //обычно лимит задает Pager, но Вам виднее
    ]);

    соответственно взять путь картинки во view _workitem можно было бы так:
    echo $model->images->imagepath;
    но это при hasOne, а у Вас hasMany поэтому
    foreach($model->images as $image){
    echo $image->imagepath;
    }
    //или например взять первый объект из массива объектов
    echo $model->images[0]->imagepath;
    Ответ написан
    Комментировать
  • Как правильно обновлять\добавлять данные в бд из источника?

    webinar
    @webinar Куратор тега PHP
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Создать индексы составные, делать count запросы, что бы не дергать те данные, которые не изменились. Более подробный ответ можно дать если Вы хотя бы пример данных дадите. Что и как в базе? Что приходит и в каком виде по api? Откуда цифра 40 секунд взялась и насколько принципиально обновлять именно с такой периодичностью?
    Ответ написан
    4 комментария
  • PHP конфликтует с CSS?

    webinar
    @webinar Куратор тега PHP
    Учим yii: https://youtu.be/-WRMlGHLgRg
    php выполняется на сервере
    css в браузере
    Конфликты исключены.
    Php генерирует html код, который отдает браузеру, браузер его обрабатывает и стилизует согласно css. Так что проблема может быть в том, что html корявый, так что связь есть но косвенная.
    В любом случае в переменной $subText как и к другим переменным php css не применяется и не может. Применяться css может только к html коду.
    То-есть, без php текст расположен по центру

    Без php текста нет вообще. Так как php его создает. Поэтому совершенно не понятно, что Вы имеете в виду.
    В чём может быть проблема?

    Да в чем угодно. Ваш вопрос не даете и малейшего представление, что у Вас получилось. Возьмите получившийся html, css и оформите на https://jsfiddle.net потом дайте нам ссылку, мы посмотрим и подскажем.
    Ответ написан
    Комментировать
  • Как в active record сделать OR а не AND?

    webinar
    @webinar Куратор тега Yii
    Учим yii: https://youtu.be/-WRMlGHLgRg
    есть ->andWhere а есть ->orWhere.
    Так же обращу внимание, что есть такая конструкция:
    ->andWhere(['or',['some_hren'=>12],['some_hren'=>145]])

    В Вашем же случае, если я правильно понял, должно быть так:
    $model = SomeModel::find();
    foreach($search_words_array as $word){
      $model->orWhere(['like','season',$word]);
    }
    print_r($model->asArray()->all());
    Ответ написан
    Комментировать