Ответы пользователя по тегу Yii
  • Как создать Word документ по шаблону?

    AlexMaxTM
    @AlexMaxTM
    Напишите полный путь до шаблона
    \path\to\tamlates\Template.docx
    Ответ написан
    Комментировать
  • Можно ли игнорировать ошибку Headers already sent в Yii2?

    AlexMaxTM
    @AlexMaxTM
    Можно игнорировать, заблокировать вывод ошибок на продакшн. Но лучше найти в чем проблема. Скорее всего какой-то скрипт где-то делает вывод (возможно дебажили и оставили где-то echo, или даже просто в конце скрипта поставили завершающий тег ?> после которого идет пустая строка).
    Ответ написан
  • Как сделать админку для автомойки с несколькими адресами?

    AlexMaxTM
    @AlexMaxTM
    Тут сразу нужно понять задачу. Если это просто зеркало, тогда проблем вообще никаких, просто настраивается новый домен на общую точку входа.
    Если данные на двух сайтах будут разные, тогда все значительно сложнее. Надо либо полностью создавать клон и затем, в случае правок, изменять скрипты в двух местах. Либо в существующей админке каждый скрипт должен понимать, что он может работать не столько с одной автомойкой. Это более правильный подход, но придется переписать практически каждый скрипт. Но зато если появится третья, четвертая автомойка, то потом будет значительно проще.
    Клонирование оно проще на начальном этапе, но затем может быть куча проблем. У меня был такой проект, в конечном счете было создано 13 копий с 13-ю отдельными базами данных. Остерегаю от такого подхода.
    Ответ написан
  • Как лучше сделать админку на landing-page?

    AlexMaxTM
    @AlexMaxTM
    Посмотрите SkeekS CMS, написанную на Yii2. Так как раз такой подход реализован. Можно оттуда выдернуть нужные куски кода и вставить в свой проект.
    Ответ написан
    Комментировать
  • Почему alias @web пустой и не настраивается?

    AlexMaxTM
    @AlexMaxTM
    Вообще все алисы прописываются в конфиге, я так понимаю вы пытаетесь задать алиас во вьюхе.
    //Yii::setAlias('web',  dirname(dirname(__DIR__)) . '/web');  Если сделать так то вываливается куча    //ошибок 404 (site.css,main.js).

    У вас @web уже определен, но вы пытаетесь его переопределить, но по другому пути dirname(dirname(__DIR__)) . '/web' потому Yii больше не находит каталоги css и js, отсюда куча ошибок 404.

    Теперь далее. Прочтите внимательно формат $this->registerJs, там первый параметр это код JS. У вас же строка '@web/js/main-index.js', именно потому вы получаете полную ерунду типа
    <script type="text/javascript">@web/js/main-index.js</script>


    Подключение внешний js скриптов осуществляется в файле assets/AppAsset.php
    Во вьюхе можно явно подключить ассеты с помощью AppAsset::register($this)
    Можно создавать свои собственные классы подключения и регистрировать в представлениях.

    Чтобы получить значение @web, вызывайте
    echo Yii::getAlias('@web');
    Ответ написан
    2 комментария
  • Пример или как реализовать фильтрацию в Yii2?

    AlexMaxTM
    @AlexMaxTM
    Вы маловато дали исходных данных. Потому допустим у вас есть таблица (Item) с данными и там есть поле цвет.
    Откройте gii и сгенерите для модель Item, затем сгенерите СRUD для этой модели, с указанием, что будет search. В качестве отображения данных для начала пусть будет даже GRID.
    Тем самым вы получите все внутренности для работы, и вам останется только поработать с вьюхой, оформить ее так, как вы нарисовали на картинке.
    Ответ написан
    Комментировать
  • Есть ли аналог ActiveForm?

    AlexMaxTM
    @AlexMaxTM
    К сожалению, почти все компоненты Yii2 завязаны на ядро фреймворка, впрочем эта беда не только Yii2. Но если взять к примеру Zend Framework, то там дела обстоят значительно лучше. Я, например, без проблем прикручивал к Yii2 модули из Zend, но не наоборот.
    Другим решением будет написать свой ActiveForm для битрикса. Это не так сложно, ведь код в Yii2 открыт, нужно только скопировать его, отвязать от ядра и адаптировать под битрикс. Конечно это работы может быть не на один день, но зато может вылиться в отдельный коммерческий проект.
    Ответ написан
    3 комментария
  • Как в yii2 advanced сделать общие ресурсы?

    AlexMaxTM
    @AlexMaxTM
    Во-первых, в advanced шаблоне frontend и backend это по сути независимые домены, и в каждой папке web есть свои css и js - и это логично. В админке и фронтенде обычно используются разные стили и разные js-скрипты.
    Во-вторых, jquery в Yii2 и так подключается автоматически в админке и фронте.
    В-третьих, подключение происходит в файлах AppAsset, если влом писать в двух местах подключение, можете сделать дополинтельный файл и инклюдить его в обоих AppAsset
    Ответ написан
    5 комментариев
  • Yii2.0 С какого шаблона (basic|advance) начать разработку CRM?

    AlexMaxTM
    @AlexMaxTM
    Как по мне, оба шаблона не очень удобные, мне и тот и другой приходится перестраивать под себя. У advance просто разделены бекэнд и фронтенд изначально - подходит для развитой админки, и та же работа с регистрацией пользователей более продвинутая, но ее все равно придется дорабатывать. У basic работа с пользователями практически вообще отсутствует.
    Ответ написан
    Комментировать
  • Почему updateAll не изменяет последнее поле?

    AlexMaxTM
    @AlexMaxTM
    Чего-то я запутался. В самом заголовке вопроса написано
    последнее поле

    И вопросе речь тоже вроде идет о колонках.
    Если под запрос попало 10 колонок

    Но в запросах идет изменение только одного поля partner_commission_payment_id, а не десяти.
    Или всё же речь должна идти о записях (строчках)?
    Ответ написан
    2 комментария
  • Как перевести этот запрос на yii2?

    AlexMaxTM
    @AlexMaxTM
    В Yii2 запрос можно выполнить тремя способами. В том числе и напрямую если уверенны в безопасности.
    $connection = Yii::$app->getDb();
    $command = $connection->createCommand("
    SELECT products.id as my_product_id, products.name as my_product_name, stranik as page_numbers, group1 AS cost,
    group_concat(bb.name) AS book_binding_name,
    group_concat(bl.name) AS book_format_book_name
    FROM products,product_book 
    LEFT JOIN book_binding bb ON book_name = :book_binding: AND bb.id = product_book.book_id
    LEFT JOIN book_format_book bl ON book_name = 'book_format_book' AND bl.id = product_book.book_id
    LEFT JOIN prices ON prices.product_id = 'ПЧ9'
    WHERE products.id = :artikul and product_book.product_id = products.id group by products.id
    ", [':artikul' => 'ПЧ9', ':book_binding' => 'book_binding', ]);
    
    $result = $command->queryAll();

    Подробности
    Ответ написан
    Комментировать
  • Что нужно знать для изучения yii2?

    AlexMaxTM
    @AlexMaxTM
    Для начала надо знать PHP и ООП. Без этих знаний будет очень сложно. Попробуйте открыть официальную документацию, она начинается с того, что создаем шаг за шагом первое простое приложение. Если покажется не сложным, то можно двигаться дальше. Если что-то не понятно, то надо будет подучить основы.
    Ответ написан
    1 комментарий
  • Yii2. Почему возникает проблема именем таблицы?

    AlexMaxTM
    @AlexMaxTM
    не надо использовать parent::getTablePrefix()
    Для префикса используется '{{%user}}'
    Ответ написан
  • Почему приходит по два письма с одной формы yii2?

    AlexMaxTM
    @AlexMaxTM
    Подобная проблема может возникать у браузера Google Chrome, если отсутствует файл favicon.ico в корне сайта.
    Об этой проблеме на хабре
    Лечится либо добавлением файла favicon.ico, либо настройкой htaccess
    Ответ написан
    Комментировать