Занимательный Spaceless виджет в Yii2 или вырезаем все пробелы
Довольно интересный виджет из коробки имеется в yii2, название ему Spaceless, а занимается он вырезанием пробелов, дабы полностью исключить возможные баги браузеров с переносом строки. Работает все это довольно просто:
Вариант использования метода afterFind в модели
Многие хранят дату/время в базе данных в формате timestamp, а точнее хранят ее в колонке с типом integer, посему при выводе возникает необходимость преобразования числа секунд в дату/время, делают это обычно примерно так:
echo date('Y-m-d H:i:s',$model->date);
Валидация переменной с помощью стандартных валидаторов
Иногда нужно проверить переменную на соответствие определенным параметрам, для этой задачи вместо средств, который предоставляет нам php можно воспользоваться стандартным функционалом Yii. Скажем чтобы проверить правильность email’а достаточно использовать ниже следующий код (данный пример присутствует в официальной документации):
Получение результатов запроса через Active Record в массив
В процессе чтения документации по Active Record к Yii2 был обнаружен интересный метод с помощью которого данные можно получить сразу в массив, вместо стандартного объекта. В некоторых случаях это может быть довольно полезно. Собственно сам метод: asArray(), применять его можно вместе с любым методом получения данных из AR, например так:
DynamicModel в Yii2, простой пример
Во второй итерации замечательного фраймворка Yii2 была обнаружена возможность создания динамических моделей, отвечает за это одноименный класс DynamicModel, расширяющий класс Model. Призван он упростить формирование полей ввода для определенных переменных, которые по той или иной причине невозможно занести в стандартную модель, но которые нужно подвергнуть валидации.
Выпадающий список в качестве фильтра в CGridView
Скорее всего данная заметка не несет особой смысловой нагрузки, но столкнувшись с проблемой вставки в качестве фильтра в CGridView выпадающего списка на ее решение потребовалось довольно не мало времени, а оказалось все до безумия просто.
Кастомное подтверждение удаления чего-либо с использованием YiiBooster
При удалении чего либо бывает нужно дополнительно спросить пользователя подтвердить свои действия, дабы удостовериться в правильности его намерений. При использовании стандартного синтаксиса все довольно тривиально: выводим по событию onclick на нашу кнопку стандартное confirm предупреждение, выглядит это примерно так:
confirm("Действительно удалить?");
Объединение двух ячеек в одну при SQL запросе
Так как в нужный момент времени ничего быстро не нагуглилось создаю данную страницу про, казалось бы простую, а для кого-то повседневную задачу: объединить две ячейки в одну путем слияния значений. По научному такая операция называется конкатенация (не путать с конъюнкцией) и прочитать про ньюансы и общее понимание можно почитать на википедии, а у нас основной момент данной заметки это sql запрос:
select id, concat("column_1","разделитель","column_2") from table
, где id, column_1 и column_2 это колонки в таблице table, а вместо слова разделитель можно вписать свой разделитель, или не вписывать абсолютно ничего и склеивать соответствующие ячейки.
Отправляем форму вместе с рефером зашедшего пользователя
Многие пользуются формами обратной связи, это могут быть формы заявки, формы обратного звонка или просто контактной информации, при этом бывает полезно знать откуда пришел человек, заполнивший данную форму, по этим данным можно косвенно судить об эффективности того или иного инструмента продвижения. Ниже хочу показать довольно простой метод извлечения этих данных и отправку их вместе с остальными данными на форме.
Быстрое и бесплатное конвертирование pdf в jpg с помощью консоли и imagemagick
Конвертировать pdf в jpg в Mac OS X, как и в любой системе можно несколькими способами, среди которых:
- Скачать специализированное приложение
- Воспользоваться стандартными возможностями системы и сохранять по 1 странице через просмотрщик
- Немного изучить консоль, установить
консольный аналого фотошопаи парой команд ковертировать pdf в jpg в нужном качестве и сразу все листы
Собственно о третьем способе мы будем говорить в этой заметке. читать далее