Задать вопрос
  • Как добавить смайлы в div?

    @k2lhu Автор вопроса
    Diversia, вот ссылка на форкнутый пакет с исправлениями, инструкции к использованию применимы и там и там.
    Дополнительно - для сохранения смайлов в бд, необходима кодировка самой бд utf8mb4, обычная utf8_general_ci не подходит, unicode тоже не подходит.
  • Как добавить смайлы в div?

    @k2lhu Автор вопроса
    Diversia, у используемого мной пакета был найден форк, где это было исправлено. Сейчас попробую найти, если что, завтра скажу точно )
  • Система рейтинга для отдельных частей страниц/записей?

    @k2lhu
    Алексей selftrips.ru, если сохранена уникальность - то почему бы и нет? к id и будет логичным привязаться в любом случае)
  • Система рейтинга для отдельных частей страниц/записей?

    @k2lhu
    Алексей selftrips.ru, сделать можно любым способом - самое сложное - идентификация элементов, а все остальное уже несложно.
  • Система рейтинга для отдельных частей страниц/записей?

    @k2lhu
    чтобы они имели свои номера, которые будут их как то идентифицировать - необходимо вынести эти фрагменты текста отдельно и хранить в базе все в нескольких таблицах - таблица с идентификатором статьи + фрагменты связанные со статьей. Тогда при выводе уже можно что угодно делать, и на каждый фрагмент вешать рейтинг.
  • Система рейтинга для отдельных частей страниц/записей?

    @k2lhu
    тогда прикручивать рейтинг довольно проблематично, как идентифицировать отдельные фрагменты?
  • Система рейтинга для отдельных частей страниц/записей?

    @k2lhu
    а у вас отдельные части страницы типа заголовка или вложения хранятся в разных местах? или выводятся разом?
  • Клавиатура ведет себя очень странно. Поможете?

    @k2lhu
    эй Джонни, когда будет пятая часть? ))
  • Как добавить смайлы в div?

    @k2lhu Автор вопроса
    Эта функция открывает окно с выбором смайлов, они и так открываются, просто не добавляются в div. Я был бы признателен если подскажете как это можно починить, либо альтернативу, но обязательно надо в div помещать смайлы.
  • Как сравнить два поля одной таблицы?

    @k2lhu
    js тут костыль, а не вариант :) Тут обычное построение деревьев простой рекурсивной функцией. Тут пример реализации.
    Ну а про каждый запрос на каждой итерации - если их 200-300 то фигня, а представим что это хороший каталог какого - нибудь магазина - с вложенностью категорий до 4 уровней - то в среднем будет около 2-3к запросов, а это боль и страдания для пользователя.
  • В Yii2 ajax выводит одни и теже данные?

    @k2lhu
    Глеб Зиновьев: забыл в прошлый раз оставить вам ссылку , пишите
  • Как правильно отобразить сообщение на странице?

    @k2lhu
    codemania: тут нет смешения, вот пример, как видите тут ни строчки html/css, а вызов функции на отрисовку представления, при этом передаются данные из объекта $model, которые и заполнят инпуты в формы, если происходит переотправка пользователя обратно на форму.
  • Как правильно отобразить сообщение на странице?

    @k2lhu
    codemania: в зависимости от кого как реализовано принятие данных, одна из распространенных практик - делать отрисовку формы и ее обработку в одной функции, т.е. если пришел POST, то работаем с ними, если нет - рисуем форму, и тогда добавив немного логики можно плюнуть на HTTP_REFERER т.к. он тут и не нужен, и обратно - если у вас разные функции их рисуют - то отправляйте провалидированные данные обратно также POST'ом с определенным флагом, и уже в зависимости от флага рисуем на странице ошибочки.
  • Есть ли в laravel обычная модель, не Eloquent ORM?

    @k2lhu
    ikudryash: Laravel это вам не Yii2, я с обоими фреймворками работаю) в Yii2 за вас почти все сделано, в том числе и валидация полей модели, аттрибуты для отображения в полях гридов, а gii просто жжет. Yii2 - для быстрой разработки, в Laravel же почти все приходится делать ручками. изначально в модели ничегошеньки нет. Надо валидацию - необходимо ее описать, можно написать свою callback функцию с массивом параметров валидаций нужных полей, можно написать несколько функций и вызывать по очереди. Ну а если хотите использовать $this->validate - то просто опишите сами эту функцию и воспользуйтесь ей. Я сам люблю Yii2 за его богатый набор возможностей по умолчанию, но в Laravel другой подход, как бы проще выразиться: тут более тонкая настройка всего идет. Yii2 сам по себе является как бы уровнем абстракцией поверх того, что есть в Laravel (Образно, не понимать буквально, это разные фреймы на разных компонентах). И соответственно после Yii2 вас ждет небольшая попа-боль почти в каждом действии ) Можно опять же посылать вас к документации, но думаю вы и без меня ее видели уже )
  • Как облегчить код для отображение счетчиков для отображение количество активных записей?

    @k2lhu
    hollanditkzn: в самом контроллере, не относящимся к виджету, ничего прописывать не надо, виджет подцепляется уже в представлении, а уже в самом представлении вы можете добавить дополнительные условия - выводить его таким то пользователям, таким то не выводить.
    Сам код виджета же, будет довольно простой, вам не обязательно делать прям как делал я - контроллеры, представления, если у вас действия выполняются один раз - то их описываем в функции run().
    Т.е. как пример, делаем папку components в корне приложения, создаём файл NewWidget.php, не забываем про namespace, класс виджета наследуем от yii\base\Widget, теперь вспоминаем что у любого виджета необходимы фукнции init() и run()

    public $param;
    public $content;
    
    public function init()
        {
            parent::init(); 
            if ( $this->param === null ) {
                $this->param = 'index';
            }
            $this->param.= '.php';
        }
    
        public function run()
        {
            if($this->param== 'index.php') {
                $menu = Yii::$app->cache->get('index');
                if ($index) return $index;
            }
            /*
             *  Тут какая-то логика, обращения к базе, генерируем html разметку и все помещаем в переменную 
             *  $content
             */
            return $this->content;
        }

    И уже указанную мной строчку вывода, по сути мы просто распечатываем сгенерированную html разметку, все операции в виджете проходят независимо от ваших основных контроллеров. Воспринимайте виджеты как отдельную функцию, в которую если надо передаем параметры, а если не надо, то не передаём, и как и любая другая функция - она может иметь какой то return а может и не иметь. В данном случае выводится блок новостей.
    Вместо красивого решения в виде виджета, можно сделать отдельную функцию в отдельном файле, заинклудить в index и вызывать эту функцию во всех местах где надо.
    Можно конечно бросаться документацией, но я думаю вы сами наверняка уже ее видели )
    Ну и самое опять же главное, виджеты - независимы до тех пор, пока вам не надо передавать в них данные, которые появляются в результате отработки контроллера. В моей виджете я просто выбираю какое представление использовать, а кому то необходимо передавать туда данные, а т.к. виджет по view файле, то необходимо в функции return экшна контроллера передавать какие то переменные.
    Итог - если данные динамичны и зависят от экшна - данные передаем.
    Если делаем независимый виджет - то его достаточно просто вызвать.
    Но и опять пометочка небольшая, внутри виджета можем спокойно обращаться и к базе, и выводить инфу и делать свою логику. Тут уж как вам больше нравится.
  • Сортировка постов в блоге Yii2 advanced -почему не меняется очерёдность?

    @k2lhu
    Maila: ага, а тут вас просто надо завести счетчик постов при выводе, т.е. идет первый пост - создаем div с классом row, и в него помещаем дивы col-md-4 или сколько вам надо, затем после третьего закрываете строку, начинается 4 пост - снова открываете строку и заносите внутрь контент и т.д.
  • Как распознать ошибки РНР при выводе через AJAX?

    @k2lhu
    Алексей Черток: ваш аякс лезет на страницу /?module=members&media=ajax&action=login, там у вас происходит своя магия, и в результате вашей магии стоит делать return с кодом завершения, их вы сами для себя определяете, ну и правильнее будет даже отдача json с полями в виде код результата выполнения функции, описание результата выполнения, чтобы и на клиенте сравнить коды и вывести необходимую информацию с json либо после обработки ответа от скрипта.

    А самое главное - ваш result - может содержать что угодно, его отдает php скрипт, довольно удобно после выполнения какой либо функции указать return - т.к. он может передавать и результат выполнения функции, и переменные, и массивы и json. Как разобрать json - можете глянуть тут, ну а со всем остальным проблем у вас быть не должно, обычный переменные в ответ, обычные массивы.