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

Статус онлайн в профиле (и не только) [реализация]




Спасибо ort и PSNet

Загорелся идеей вывести в профиль статус онлайн/оффлайн для пользователей. Понял, что по сути можно сделать напрямую в шаблоне примерно такой схемой
{если «текущее время в секундах» — «дата последнего визита в секундах» < 900 секунд} онлайн {иначе} оффлайн {/если}

Под катом инструкция

Пожелания к разработке шаблонов разработчиками

Это список важных замечаний к разработке шаблонов к LiveStreet CMS.
Особенно это будет полезно тем, кто выиграет конкурс на стандартный шаблон для ЛС.
Внедряя эти мелкие доработки, шаблон может стать более дружественным к пользователю и увеличит поток потенциальных ЛС-водцев.

Итак:

  1. Кнопка вступления в блог — она должна быть максимально доступной, большой и понятной. Вокруг неё должно быть логичное объяснение типа сноски что она делает.

  2. К каждому объекту на ЛС можно было бы добавить справку, например в виде значка ?, при наведении указателя мыши на который выводилась бы краткая справка в попап окне для чего нужен тот или иной блок/элемент.
  3. В личных сообщения проставить маленький значок «адресат прочитал письмо»
  4. Добавить подписи ко всем элементам (title) — vOFFka
  5. При добавлении записи убирать ссылку на создание блога при нажатии выдавать сообщение в углу «Недостаточно рейтинга для создания блога», если человек не достиг нужного рейтинга. — vOFFka , nickostyle
  6. чтоб верстальщики хотя бы процентов 30 css-классов называли одинаково — avadim
  7. можно сбоку добавить кнопку «Наверх», как в контакте, чтобы не скроллом прокручивать страницу до самого верха (ведь в некоторых темах и по 500 комментариев бывает). — Newman
  8. Вывести в более удобное место управление подписчиками (по заявек) в закрытый блог… — Bo0oM
  9. Кнопку «избранного» переместить в конец топика, чтобы не приходилось прокручивать вверх после прочтения статьи. — vOFFka
  10. если вы вносите языковую переменную в свой шаблон то делайте это не на уровне шаблона а уровне языковых файлов. — Fanta
  11. прописывайте языковые переменные не в стандартном языковом файле движка (/templates/language/russian.php) (чтобы не иметь проблем с обновлениями), а в языковом файле шаблона (/templates/skin/new-jquery/config/language/russian.php) — PSNet
  12. И во имя безопасности, кидайте .htaccess в папки — Bo0oM , с правильным содержимым, например:
    
    Options -Indexes
    <Files ~ "\.tpl$">
        Order allow,deny
        Deny from all
    </Files>
    

    PSNet
    , Россыпь таких файлов замедляет работу веб-сервера, поскольку он вынужден читать их при каждом обращении к файлам. Желательно объявить эту директиву однократно, а ещё лучше — указать её в конфигурационном файле веб-сервера. В последнем случае она будет читаться только один раз, при старте Апача. onthefly
  13. не ставить h1...h6 где попало, если и ставить, то внутри должен быть голый текст — kpoxas
  14. не использовать инлайновые css и js — onthefly
  15. Везде в вызовах хуков проставить соответствующие для даного хука основные переменные, например чтобы хук:
    {hook run='menu_profile'}

    выглядел так:
    {hook run='menu_profile' oUserProfile=$oUserProfile}

    ведь эта переменная там очень нужна — PSNet
  16. Блоки в ЛС нуждаются в инфографике, ведь правда блок:

    так выглядит лучше:

    тоже самое касается пунктов в профиле («добавить в друзья» и т.п.)

    PSNet
  17. Сделать, чтобы если пользователь сейчас на сайте, то в профиле отображалось, что он «онлайн»Newman
  18. В комментариях к топику как-нибудь выделять комментарии топикстартера (цветом или рядос с аватаркой значек ставить).Newman


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

P.S. Большинство мелочей, кстати, реализовал в этом шаблоне.

Система блоков

Если пробежаться глазами по сайтам, созданным с ее помощью несложно заметить, что большинство из них наследует две колонки стандартных шаблонов.
Но ведь LS может похвастаться простой, но от этого не менее функциональной системой блоков. Почему владельцы сайтов не используют ее? Возможно, дело в документации?
Это я сегодня с Вашей помощью и попробую исправить.


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

Описание ядра LiveStreet

Данная документация прежде всего для людей знакомых с PHP(объектной моделью) и желающих модифицировать движок.

Общее представление


Движок LiveStreet построен на базе собственного фреймворка с использованием модульности и модели MVC.
Фреймворк представляет из себя каркас из абстрактных классов(абстракции module, action, block, mapper, entity), ядро(engine), роутер(route) и набор системных модулей(модули с префиксом sys_).
Читать дальше →