+22.63
Рейтинг
49.63
Сила

Андрей

Простой сервис push-уведомлений для Вашего сайта

Как известно, самое интересное происходит на стыке технологий, вот и я хочу поделиться с Вами последней своей разработкой, которая по ненадобности своей для меня стала вещью-в-себе. а сообществу может и пригодиться представляет собой сервис push-сообщений для сайта на базе livestreet.

Что такое сервис push-сообщений? Это некоторый функционал, позволяющий посылать сообщения с Вашего сайта на телефоны пользователей. Это технология сочетает в себе три составляющие:

  1. клиентское приложение (в нашем случае приложение для телефонов с ОС Android);
  2. сервис GCM, предоставляемый Googlом;
  3. серверная часть в виде плагина для LS.


Как это все работает читаем ниже…

Небольшое красивое дополнение

В одной из ранних версий bootstrap, на главной странице этого фреймворка увидел интересную фишку. При прокрутке страницы главное меню фиксировалось в верхней части страницы. Сегодня почему-то вспомнилось и решил реализовать такую вещь для livestreet. Как оказалось — очень просто.

Читать дальше →

Новости от админа на главной странице

Всех с прошедшим праздником и с наступающим. Давным давно реализовал для своего сайта плагин (очень простой) выводящий стену админа на главную страницу в виде ленты новостей, а сегодня ко мне обратились с просьбой поделиться наработкой. Ну что же пожалуйста. Хотя нет, немного пожадничаю, плагин не дам, а вот как его быстро собрать самому расскажу, благо время на это есть.

Первое
Создаем основу плагина:
В каталоге «plugins» необходимо создать структуру каталогов, похужую на картинку выше. Здесь все очевидно: файл класса блока «BlockNews.class.php» будет формировать необходимые данные для вывода шаблона. Хук будет добавлять блок для вывода, а шаблон – содержать оформление блока.
Перейдем теперь к содержанию:

Читать дальше →

Закрепление топика на главной: мое решение


В моем проекте потребовалось закрепить топик на главной странице, но решения которые я нашел здесь, здесь, здесь не подошли, поэтому решил сделать свой плагином и с настройками.

Плагин небольшой и его идея заключается в добавлении и реализации собственного хука.

Попробовать плагин в действии можно с github-а. В общем каталоге плагина нет, но скоро появиться, я думаю.

Сразу скажу, речь идет о закреплении одного-единственного топика, идентификатор которого и указывается в настройках плагина.

Архитектура LS:: Мапперы

Представляю первую статью цикла статей об архитектуре livestreet, я думаю будут и продолжения. Исходные коды примера, приведенные здесь доступны на github.

1. Что такое маппер
Ну-с начнем, и начнем с того, что определим, что такое маппер? Маппер, или конкретнее Data Mapper является одним из стандартных паттернов проектирования программных средств, определенный в LS как PHP-объект наследуемый от базового, для всех мапперов класса Mapper. Основным назначением маппера является отделение логики хранения данных от бизнес-логики самого приложения. Маппер содержит методы, реализующие операции CRUD (Create-Read-Update-Delete) над одной или несколькими таблицами по «просьбе» объекта. Маппер является интерфейсом между объектами и базой данных, средством, повышающим уровень абстракции в архитектуре приложения.

Читать дальше →

Плагин "Мнения" - расширенный функционал голосования


Плагин выполняет две задачи: отображает в профиле пользователя его текущее место в общем рейтинге пользователей и реализует отправку и отображение анонимных сообщений при голосовании.

Дальше подробнее и с картинками

Еще раз про Кэширование

Я вернусь к уже избитой теме про кэширование данных livestreet-ом, поскольку из комментов и вопросов замечаю явное непонимание используемых механизмов. Несмотря на уже существующий материал, за последние дни я уже столкнулся с несколькими случаями такого непонимания. В этом топике я расскажу про механизмы кэширования, где и как они используются, а именно про:
1. Реализуемый механизм кэширования.
2. Кэширование шаблонов Smarty.
3. Компрессию js и css-файлов, хотя напрямую к кэшированию и не относиться.

Читать дальше →

Красивые подсказки в редакторе

Подсказки в редакторе реализованы через указание их текста в атрибуте тега a. Как оказалось и плагин для вывода сообщений использует этот атрибут, осталось сделать лишь небольшую доработку — в файл скрипта темы (templates/skin/ТЕМА/js/template.js) добавить несколько строчек кода, расположенных ниже. Более подробно о настройках poshytip можно почитать здесь:
$('.markItUpHeader .markItUpButton a').poshytip({
    className: 'infobox-yellow',
    showTimeout:300
});

Все!

Рецепт добавления поля в диалог регистрации пользователя

Сегодня ко мне обратились за помощью с вопросом добавления поля в диалог регистрации. Задача оказалась не тривиальна и показательна, так как хорошо показывает его архитектуру, поэтому хочу поделиться с сообществом процедурой ее решения.

Постановка задачи: необходимо добавить в форму регистрации пользователя поле «Имя пользователя» из его, пользователя, профиля.
Задача решается последовательно в несколько шагов:
Шаг 1. Добавление текстовки в языковой файл.
Шаг 2. Добавление поля в форму регистрации.
Шаг 3. Добавление правила валидации элемента.
Шаг 4. Обеспечение записи элемента при валидации.
Шаг 5. Доработка всплывающего окна с регистрацией.
Шаг 6. Доработка маппера.

Читать дальше →

Какую IDE Вы используете для работы с livestreet?

Интересно, какую IDE выбирают разработчики для своих проектов на livestreet. Я свой выбор уже сделал, но хотелось бы видеть общую картину предпочтений