0.00
Рейтинг
0.25
Сила

Provolod

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

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

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

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

Доработать активность

Надо доработать активность, что нужно:
  • возможность отвечать на комментарии прямо в активности.
  • В конфиге сделать опцию: сколько ответов показывать.
  • По кнопке «показать всю ветку» — разворачивать всю ветку.
  • В конфиге опция: максимальный уровень вложенности комментариев в активности
  • Добавить тулбар с кнопкой «обновить» как в топиках. Если есть обновления — вся лента съезжает вниз, и появляются новые события с подстветкой.
  • Добавить счетчик новых событий в активности и выводить его в главном меню (Активность +5)
  • При переходе в «активность» новым событиями присваивать css-класс. После просмотра активности все события считаются просмотренными.
  • Сделать ссылке index/new отдельный экшн
  • Сделать счетчик обновлений для ленты

Релиз LiveStreet 1.0


Сегодня вышел новый релиз блого-социального движка LiveStreet 1.0.

Новые возможности:
— Новый дефолтный шаблон Synio (победитель конкурса, автор LeX )
— Шаблон на HTML 5 и полный отказ от MooTools. Теперь поддерживается только jQuery
— Стена пользователя
— Переработанный профиль пользователя
— Ajax авторизация и регистрация в том числе в попапе
— Модуль гео-базы и на его основе выбор места проживания в профиле пользователя
— Поиск и сортировка среди пользователей
— Поиск и сортировка среди блогов
— Возможность для избранных топиков добавлять свои теги и поиск топиков по ним
— Счетчик избранного для топиков и комментариев
— Подписка на новые комментарии к топикам

Узнать больше возможностей

Бесплатный плагин «LSGallery»

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

В чем преимущество нашей Галереи?

Во первых она бесплатна и открыта :). Во вторых она грамотно спроектирована, быстро работает, красиво выглядит и удобна в использовании. Посудите сами:



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

Заменить поле для меток (тэгов) checkbox:ми

Есть желание заменить поле для меток статическим списком с возможностью выбора нескольких меток чекбоксами.
Для мульти-выбора неплохо подходит данный скрипт: www.erichynds.com/jquery/jquery-ui-multiselect-widget/

Помогите реализовать, так что бы выборка работала при сохранении и эдитировании топика!

<script type="text/javascript">
   $(function(){
       $("#sel").multiselect({
       	   selectedList: 5 
       });
   });   
</script> 
<select multiple="multiple" size="5" id="sel" name="sel">
  <optgroup label="England">
      <option value="London">London</option>
      <option value="Leeds">Leeds</option>
      <option value="Manchaster">Manchaster</option>
  </optgroup>
  <optgroup label="USA">
      <option value="New York">New York</option>
      <option value="Chicago">Chicago</option>
  </optgroup>
</select>


добавляем данные в текст поле

<script type="text/javascript">
		    $(document).ready(function() {
		        $("#sel").change(
		            function () {
		                $('#tags').attr('value', $("#sel").val());
		            }
		        );
		    });
		</script>


осталось в edit показать какие checkbox checked…

Новое в LiveStreet 1.0 для разработчиков

Для разработчиков плагинов и шаблонов в LiveStreet 1.0 есть некоторые изменения.
Постараюсь их все собрать в одном месте.
Изменений, на самом деле, не так много.

Список:
  1. Модуль GEO, теперь в своих плагинах с помощью него можно делать географические привязки различных объектов
  2. Модуль Subscribe, организация подписок пользователей на различные события и рассылка по ним. Например, через него реализован механизм подписки на комментарии к топикам
  3. js вынесены за пределы шаблона в библиотеки, теперь в шаблонах достаточно только переопределить необходимый функционал
  4. Механизм валидации данных, подробнее — livestreet.ru/blog/dev_documentation/10221.html
  5. Возможность в тулбар добавлять свои элементы через стандартных механизм блоков
  6. Консоль для автоматической генерации каркаса плагина
  7. Переопределять настройки редактора стало проще, теперь они находятся в ls.settings
  8. Класс Object переименован в LsObject, позволит избежать проблем с некоторыми IDE и подключить автоподстановку методов
  9. Доработан модуль Image, теперь для сохранения изображения на другой сервер, достаточно переопределить методы SaveFile() и RemoveFile()
  10. Каптча вынесена в блочный хук {hookb run=«popup_registration_captcha»}, что позволит ее переопределить
  11. Возможность делать всплывающие подсказки через poshytip или infobox.js (с погрузкой данных через ajax)
  12. Появился модуль Tools, сейчас в нем только один метод — формирование облака тегов
  13. Шаблоны блоков перенесены в отдельный каталог /blocks/
  14. При ручном определении сеттеров в сущностях теперь следует возвращать данные как return $this->_getDataOne('blog_id'); — это позволит избежать проблемы с Notice ошибками
  15. Прямой эфир теперь автоматически группирует вкладки, если их много, в выпадающий список
  16. Смена приоритетов при загрузке блоков — теперь блоки из конфига загружаются после блоков, объявленных в коде экшенов, соответственно блоки из конфига имеют более высокий приоритет. Это позволит применять правила к блокам после окончательного определения экшена/евента, которые можно переопределить в ходе выполнения логики экшена/хуков.
  17. Возможность делать именованные евенты и управлять блоками из конфига о их именам. Например для евента на основе регулярно выражения можно задать имя и его использовать в правилах блоков. Если имя не задать, то оно автоматически определится как имя метода евента.
  18. Теперь все текстовки плагинов помещаются в пространство 'plugin.name', например, Get_Lang('plugin.page.admin_title');


Если есть вопросы, то отвечу более подробно.

Плагин "Short Profile" - короткие урлы для профиля

Плагин «Short Profile» делает только одно — заменят урлы вида site.ru/profile/vasy/ на site.ru/vasy/
Перед использованием необходимо обязательно прочитать README
Для работы плагина необходима последняя версия LS 1.0-dev с GitHub'a

Скачать можно с GitHub'a — github.com/livestreet/lsplugin-shortprofile

Установка Livestreet с нуля (Debian): nginx + mysql + php-fpm + apc + memcached + sphinx

Возможно, этот гайд даже кому-нибудь понадобится.

0) Итак, у нас имеется свежепоставленный Debian с настроенным ssh-доступом и юзер с правами, достаточными для работы sudo.
Здесь и далее "#" в начале команды означает, что ее необходимо запускать с правами root-пользователя (например, с помощью sudo)
1) Пакеты будем ставить из репозитория dotdeb, поэтому для начала добавим его в sources.list:
# nano /etc/apt/sources.list

дописываем в конец файла
deb http://packages.dotdeb.org stable all

Далее импортируем ключ dotdeb'а:
wget http://www.dotdeb.org/dotdeb.gpg -O - -q | sudo apt-key add -

Обновляем список пакетов
# apt-get update

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

jqModal. Создание модальных окон и не только

Вроде бы по созданию и использованию модальных и всплывающих (pop-up) окон в LS публикации уже были, но видимо, то ли информации мало, то ли преподнесена она слишком кратко — вопросы опять появились.
Этим топиком я «убиваю сразу двух зайцев» — и свой багаж знаний пополню и у для кого-то текущие и будущие вопросы возможно помогу решить
Читать дальше →