• Ajax + Yii + две модели. Как лучше сделать?

    @EVMI
    Upd
    upd. я бы обновлял данные непосредственно в связной таблице с посещениями и после добавления новой записи или удаления обновлял список посещений на странице.
    В представлении на кнопку "+добавить" повесьте скрипт js при клике загружать форму в
    <div class='add_form'>
    $('.add_form').load('экшн добавить посещение')

    в том же скрипте на сабмит загруженной формы добавьте ajax запрос на экшн добавить посещение

    в экшене 'экшн добавить посещение'
    if ($model->load(Yii::$app->request->post()) && $model->save()) {
                return json_encode($model->id); //тут можете передать параметры для формирования html с добавленным пунктом
            }
            return $this->renderAjax('_форма_добавить_посещение', [
                'model' => $model,
            ]);

    Его результат будете разбирать в ответе.
    результат запроса анализируйте (например result[1] != '<' в зависимости от результата можно проверять с чего начинается строка чтобы понять что с ней делать) если валидация успешна, формируйте html с полученными данными и добавляйте в конец списка или отдальным ajax обновите список посещений типа $('.list').load('url_update_list'),
    если не успешна возвращайте result в $('.add_form')
    upd. для удаления на кнопку X повесьте аналогично js ajax с вызовом экшена на удаление, передавайте параметр ид удаляемой записи. На result повесьте ajax функцию обновления списка.
    Ответ написан
  • Macbook Air или Pro для ui-дизайнера и веб-разраба?

    @EVMI
    Добавлю свои пять копеек.
    Не знаю, как дела с разработкой обстоят у других, но в моей работе я часто использую макеты photoshop с большим количеством слоёв, масок и прочей шелухи. Использую мак про 15 года и мне иногда не хватает производительности для их редактирования. Остальное ПО много ресурсов не кушает. Также есть про 8 года, по сегодняшним задачам уже заметно тормозит и не используется, вышел из употребления пару лет назад.
    Вообще в вашем выборе ключевой фактор бюджет, берите максимально хорошую машину, которую можете себе позволить. Качество материалов и конструкционных решений позволят вам пользоваться ноутбуком очень долго и через пару лет (возможно) вы не пожалеете о том, что вложили в покупку чуть больше средств, чем планировали.
    Ответ написан
  • Почему при установке пакета не скачиваются js и css файлы?

    @EVMI
    У меня была похожая проблема, нужно обновиться. Выполните:
    $ composer selfupdate
    $ composer global update --no-plugins
    $ composer global require fxp/composer-asset-plugin:"^1.1.0" --no-plugins
    $composer update
    После этих действий зависимости подтянутся
    Ответ написан
    Комментировать
  • DatePicker улетел, это баг или фича?

    @EVMI
    Столкнулся с похожей проблемой, позиционирование относительно импута скрипт вычислял неверно. Посмотрите в код инпута инспектором, скорее всего у вас параметры top, left вычислены неправильно.
    Разбор полетов показал, что виноваты стили дополнительных решений, конкретно у меня скрипт бокового меню использовал стиль body,html{overflow:auto!important}, что приводило к ошибке в datepicker.
    Советую попробовать поочередно поотключать стили на общие элементы страницы, скорее всего найдёте проблему в них.
    Ответ написан
    Комментировать