+2.29
Рейтинг
15.92
Сила

ARM

Плагин "TrickyTitle" - хитрые и уникальные заголовки страниц

Привет друзья!

С удовольствием представляю вам новый, полезный, модуль для LiveStreet 1.0.1.


Плагин предназначен для автоматической модификации содержимого HTML тега «title». Таким образом, чтобы это содержимое выглядело информативно для поисковых систем, было уникальным для любой страницы, и вместе с тем, не теряло осмысленности.

В первую очередь нацелено на различные страницы со списками топиков, которые по умолчанию не имеют уникальных заголовков совсем, либо имеют их в очень ограниченном виде (акции index, blog, tag и тому подобное)

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

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

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

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

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

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

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

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

share42 и LiveStreet

Да, я знаю, что об интеграции социальных кнопок скриптом share42 уже пару раз писали. Но оба предложенных варианта не переполнили меня восторгом.

Отступление: На справедливый вопрос «а зачем это вообще нужно?» у меня нету готового ответа. Это SEO. Но базовая интеграция с социальными сетями в каком-то виде, есть в шаблонах изначально. На мой взгляд этого мало, но даже в рамках команды нашего сайта, мы долго обсуждали необходимость дополнительных усилий в этом направлении, и целесообразность применения share42, в частности. Тема глубоко субъективная.

Так вот, плагин для подобной задачи кажется мне слишком тяжёлым решением, а ручная модификация tpl-ей шаблонов — слишком грубым.

В итоге, я решил попробовать прикрутить кнопки применив механизм блоков.

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

"Стена" вместо "Информации" (Решено)

Может кто-то подскажет как сделать чтоб в профиле пользователя по умолчанию открывало не «информацию», а «стену»
Скорей всего это не сложно, но я человек далекий от этого всего и только начал знакомство с LS, так что если кто-то тыкнет носом буду очень признателен

Решение найдено благодаря kerby Плюсаните ему, а то у меня рейтинг не позволяет

Если не совсем «по-быстрому», то… classes\actions\ActionProfile.class.php
if (Config::Get('general.reg.invite')) {
                        /**
                         * Получаем список тех кого пригласил юзер
                         */
                        $aUsersInvite=$this->User_GetUsersInvite($this->oUserProfile->getId());
                        $this->Viewer_Assign('aUsersInvite',$aUsersInvite);
                        /**
                         * Получаем того юзера, кто пригласил текущего
                         */
                        $oUserInviteFrom=$this->User_GetUserInviteFrom($this->oUserProfile->getId());
                        $this->Viewer_Assign('oUserInviteFrom',$oUserInviteFrom);
                }
                /**
                 * Получаем список юзеров блога
                 */
                $aBlogUsers=$this->Blog_GetBlogUsersByUserId($this->oUserProfile->getId(),ModuleBlog::BLOG_USER_ROLE_USER);

Меняеям на
if (Config::Get('general.reg.invite')) {
                        /**
                         * Получаем список тех кого пригласил юзер
                         */
                        $aUsersInvite=$this->User_GetUsersInvite($this->oUserProfile->getId());
                        $this->Viewer_Assign('aUsersInvite',$aUsersInvite);
                        /**
                         * Получаем того юзера, кто пригласил текущего
                         */
                        $oUserInviteFrom=$this->User_GetUserInviteFrom($this->oUserProfile->getId());
                        $this->Viewer_Assign('oUserInviteFrom',$oUserInviteFrom);
                }
        if (is_null(Router::GetParam(0)))
            Router::Location($this->oUserProfile->getUserWebPath()."wall/");
                /**
                 * Получаем список юзеров блога
                 */
                $aBlogUsers=$this->Blog_GetBlogUsersByUserId($this->oUserProfile->getId(),ModuleBlog::BLOG_USER_ROLE_USER);


После этого в файле /templates/skin/<шаблон>/action/ActionProfile/sidebar.tpl ищете что-то из серии
<section class="block block-type-profile-nav">
        <ul class="nav nav-pills nav-profile">
                {hook run='profile_sidebar_menu_item_first' oUserProfile=$oUserProfile}
                <li {if $sAction=='profile' && ($aParams[0]=='whois' or $aParams[0]=='')}class="active"{/if}><a href="{$oUserProfile->getUserWebPath()}">{$aLang.user_menu_profile_whois}</a></li>


и вот там
<a href="{$oUserProfile->getUserWebPath()}">

поменять на
<a href="{$oUserProfile->getUserWebPath()}whois/">

Как убрать слэш в htaccess? Или склеиваем дубли.

Все знают, что дубли это плохо, при их большом количестве можно сильно пострадать, особенно от Яндекса. Итак, я попробую дать ответ на то, как убрать часть дублей в ЛС. А если кто поможет убрать другую часть дублей — буду премного благодарен!

Убираем дубли типа ваш сайт/blog и ваш сайт/blog/ — как видите, здесь отличие только в слэше в конце. Нужно эти страницы склеить. Я предлагаю сделать так, чтобы в конце всегда был слэш, написать в .htaccess:


RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)
RewriteRule .* %1/ [R=301,L]


Но в таком случае (да и по умолчанию, если код указанный выше не писать), остается еще часть дублей — это сами статьи. Каждая статья доступна по двум адресам:

название статьи.html и название статьи.html/

Как видите, есть в конце слэш, и все статьи со слешем есть в индексе Яндекса. На этом сайте, кстати, тоже. Как решить эту склейку, я не знаю. Поэтому, предлагаю решить ее вместе.

Шаблон "Fortune"

Шаблон &quot;Fortune&quot;

Хочу представить сообществу LS новый платный шаблон под названием «Fortune», на разработку, проработку и верстку которого было затрачено много времени и сил. От стандартного представления информации, в две колонки, было решено не отказываться в угоду более простой адаптации уже имеющихся плагинов. Несмотря на это, в планах есть интересные идеи, которые потребуют времени. Основное внимание при создании было уделено простоте и удобству… бла-бла-бла… )) Переходим от слов к делу.

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

[Open Source] Решение - «Realtime»


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

Вместо пиара
Вконтакте, одноклассники, фэйсбук, твиттер, гугл уже давно используют силу обновлений в реальном времени, создав своим пользователям комфортные условия для общения

Что это
Это инструмент для вас, вашего сайта, разработчиков, позволяющее создавать свои real-time дополнения для livestreet'a. Он состоит из node.js сервера и плагина для livestreet.

Сервер realtime берет на себя роль связующего звена между пользователем и livestreet'ом, который передает серверу данные при наступления запланированного события.

В базовую комплектацию входят:
  • Моментальные уведомления о событиях:
    — новом топике в блоге на который вы подписаны,
    — новом комментарии в вашем топике,
    — ответе на комментарий,
    — новом личном сообщении,
    — ответе на личное сообщение,
    — добавлении вас в друзья
  • Моментальная подгрузка комментариев и личных сообщений для авторизированных пользователей


Цели
Предоставить функционал перечисленный выше, создающий на вашем сайте ощущение вовлечения во все происходящие на сайте события, вплоть до новых комментариев к статьям и личной переписке. Помимо этого дать инструмент для разработчиков неравнодушных к real-time технологиям.

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