Блог хеллоуворлдщика

Категория [Yii2]


Получение информации о местоположении по IP адресу для Yii2

ВНИМАНИЕ

Автор не рекомендует использовать данное расширение, где необходима скорость обработки, потому что иногда от Telize ответа не дождаться. Поэтому, рекомендую использовать MaxMind GeoIP2, который так же использует Telize.

Очень много сервисов я перековырял перед тем, как остановил свой выбор на Telize. Данный сервис позволяет получить ГЕО информацию по IP адресу через их API в формате JSON. Полученная информация более-менее точная и данный сервис бесплатный. Поэтому, я решил, что лучше уже не найти и взялся за написание компонента для Yii2.

Читать далее

Модуль статичных страниц для Yii2

Разработкой данного расширения послужило его отсутсвтие. :D Интересовался у программистов в Gitter, на что мне отвечали, что данное расширение написать не составляет труда. Да базару ноль, посоны! Только на...зачем мне его писать, когда я хочу готовое, взял и пользуйся?

Данное расширение очень полезно для создания информационных страниц. Всё содержимое хранится в БД. Да по сути ничего плохого в том, чтобы использовать хранение в файлах, но, тому же админу не обязательно знать, что такое "<?php" и как этим пользоваться. Да и вставку картинок через <img> ему тоже как-то не алё. А посему, я сделал такое очень полезное расширение.

Читать далее

Расширение для получения информации о странице переданной по URL для Yii2

Всем привет! =) Давно не писал, немного занят. За это время у меня появились некоторые новые плюшки с которыми я готов поделиться. Если честно, то их достаточно много. Намного больше, чем вы видите на GitHub. Я не в состоянии делиться со всеми из-за того, что многие из них чисто были написаны под проект, но они так же могут применяться и в других проектах. Просто, это не такая простая и быстрая работа по подготовке расширения на массовое использование. Нужно учитывать много нюансов, что пожирает время, которого не так много. Поэтому я делюсь только теми расширениями, которыми, я точно уверен, будут пользоваться другие, а так же я, не один раз.

Читать далее

Виджет для работы с динамическими полями для Yii2

Привет, читатель! Сегодня я поделюсь с тобой своим новым расширением для работы с динамическими полями, или, по правильному говоря, множественными моделями.

Не так часто, но всё же, приходится иногда добавлять возможность работы с множественным вариантом полей. К примеру, место учебы. Человек мог обучаться не в одном месте, поэтому, приходится предоставлять возможность добавления еще одного место обучения, потом еще одного и т.д. до бесконечности. Здесь как раз нас и спасают динамические поля.

Читать далее

Сетчатое отображение контента и автоматическая подгрузка контента через Ajax для Yii2

Не так давно мне понадобилась реализовать сетчатое отображение контента для списка статей. Сразу вспомнил о таком плагине для jQuery как gridify. На основе его и \yii\widgets\ListView сделал сетчатое отображение любых блоков, а не только изображений, а так же автоматически подгружать через Ajax следующую страницу. Расширение очень простое. На GitHub есть вся необходимая информация по использованию. Если что не ясно - интересуйтесь в комментариях, буду рад. =)

Ссылка на расширение: https://github.com/bupy7/yii2-gridify-view

Читать далее

Ajax фильтр для Yii2

Все помнят, в Yii1 была возможность фильтровать доступ к экшену, если запрос не через ajax, например. В Yii2 такой возможности из коробки нет. Есть только фильтрация, которая проверяет через какой Http-метод был выполнен запрос и какой разрешен. Да и в общем-то такая возможность на проверку Ajax это или не Ajax не особо нужна, но, сволочь, нужна. Поэтому со временем и мне понадобилось. Я сразу не стал писать велосипед, а поискал на GitHub. Нашел там велосипедистое решение, которое потом форкнул и переписал. Получилось норм, поэтому можете пользоваться на здоровье! =) Жми сюда!

Читать далее

Простой и мощный текстовый редактор для Yii2 использующий парсер BB-кода и фильтр HtmlPurifier

В связи с тем, что потребовалось реализовать свой редактор с индивидуальной разметкой я сначала посмотрел в сторону wisiwyg Imperavi, попробовал его расширить, и пришёл к выводу, что в моём случае он не подходит, т.к. обычный пользователь может навставлять такое огромное количество лишний HTML тегов, что это приводит к тому, что всё съезжает. Да и вообще, мне лично никогда wisiwyg не нравились, очень сложно уследить за тем, чтобы разметка была корректна и правильная, что не скажешь, например о Markdown или обычным редактором на BB-кодах.

Читать далее

Слайдер для Yii2 на основе FlexSlider

Этот слайдер является обычный обёрткой для FlexSlider и не более. Взять его можно в моём репозитории https://github.com/bupy7/yii2-flexslider . Так же на Packagist. Устанавливается через Composer. Всё просто и ясно. Без пантов. =)

Читать далее

Кадрирование изображения до загрузки на сервер для Yii2

Это реализация и улучшение виджета для Yii2 представленного здесь ранее мной для Yii первой версии. Данный виджет потерпел некоторые изменения, а именно:

  • Дизайн кнопок. =)
  • Добавлен параметр ratio в передачу информации о кадрировании.
  • Добавлена возможность изменение размера рамки для кадрирования.
  • Добавлено автоматическое центрирование рамки для кадрирования.
  • Исправлены некоторые недочеты.
  • Возможность кадрировать по нескольким параметрам за раз. (К примеру, как в ВКонтакте).
  • Возможно использовать свой view для виджета.
  • Возможность изменения размера кадрирования налету.

Ссылка на виджет и инструкция по установке и использованию на GitHub https://github.com/bupy7/yii2-widget-cropbox

Ссылка на Packagist https://packagist.org/packages/bupy7/yii2-widget-cropbox

Читать далее

Первые короткие заметки о Yii2

Основательно поработав первую неделю с Yii2 Framework я готов поделиться с вам некоторыми заметками, которые, возможно, будут некоторым полезны.

Алиасы в advanced шаблоне приложения

Скажу честно, с advanced я не работал, но после того, как потребовалось разделить как можно лучше приложение на "кусочки", и обсудив вопрос о структуре моего нового проекта с всеми уважаемым Александром Макаровым - я разделил приложение на несколько самостоятельных частей, которые, по сути, от друг-друга не зависят. После этого, я взглянул на advanced шаблон и был сильно удивлён, когда нашёл схожесть со своим. Что меня больше всего удивило, дак это наличие алиасов backend в backend и frontend в frontend, и вопрос: нафига, когда app указывает на текущую активную часть приложения?! А оказывается есть причина, по которой мне позже пришлось сделать точно так-же: иногда требуется подключать какие-то классы заведомо не зная в какой части приложения мы находимся, поэтому просто прописав backend\to\class\Class мы можем не заморачиваться. Ну и ещё, как совет, всегда начинайте namespace с алиаса части приложения в которой он находится, если это возможно. т.к. ограничите себя от других проблем в ходе разработки.

Читать далее