+23.14
Рейтинг
79.20
Сила

Владимир

/FAQ/ → Назначаем любого пользователя «админом или модератором» блога

В связи с частыми вопросами на эту тему, решил создать отдельный топик. Раньше приходилось отвечать где-то в комментариях, или в личке. Тут решил всё собрать в одном месте. И так, поехали…

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

Livestreet: дао разработчика - 2

Первая часть цикла

Дао — это действие, процесс, поток. Чем чаще вы смотрите на код других плагинов, тем больше вы понимаете, как делать свой.
Накачайте плагинов под 0.4.2 и расматривайте, что у них внутри. Без этого вы не сможете начать писать свои плагины.

Я сделал типовой шаблон, из которого удобно делать свои собственные плагины. Располагается он тут:
http://github.com/medar/livestreetplugin
Чтобы скачать его, надо нажать в правом верхнем углу кнопку «Download Source». Желающие могут форкать и вносить изменения.

В файле находится «рыба» плагина с названием abcplugin.
Читать дальше →

Дополнительное поле при создании поста

Создал дополнительное поле при создании/редактировании поста — Ссылка на источник, все работает нормально, но вот проблема, ссылка отображается как простой текст. Вроде как, для отображения как ссылки, нужно что-то добавить в ActionTopic.class.php (у меня версия 0.3.1) в разделы «Парсим на предмет ХТМЛ тегов», но вот что не могу сообразить, может кто что-нибудь посоветует.
подробности под катом

Тендер на создание пользовательской документации


Решили объявить тендер на написание пользовательской документации по LiveStreet.
Причина — банальная нехватка собственного времени. Поэтому надеемся, что среди активных пользователей нашего сообщества найдется(найдутся?) тот, кто сможет нам в этом помочь. Не бесплатно.
Мы готовы на это выделить 5000 рублей.

Что требуется: написать так называемый user guide в формате HTML по использованию LiveStreet для «чайника», желательно с иллюстрирующими скриншотами. Т.е. структурировано, доступным языком написать как пользоваться LS начиная от установки и настройки конфига, до создания своего блога/топика, голосования и т.п.

Есть желающие?

P.S. В итоге хочется получить что то подобное — liverpoolwebdesigner.files.wordpress.com/2008/01/wordpress_user_guide_v2_beta.pdf

UPD Кандидаты могут предложить структурированное оглавление руководства, это будет также критерием при выборе исполнителя.

Livestreet Profiler Plugin - для чего нужен?

Прочитал здесь про плагины. Так и не понял для чего нужен стандартный Livestreet Profiler Plugin? Что он конкретно делает? И почему при активированном плагине внизу страницы надпись: Profiler: Off | Profiler reports Надпись эта видна всем, если не залогинен как админ — выдает «Нет доступа». Ну с этим ладно, нетрудно сделать чтобы она выводилась только админу. Вопрос в другом, если можно небольшой пример использования этого плагина. Спасибо.

добавление "произвольного" блока и его верстка( для новичков :) )

Доброго времени суток уважаемые livestreet'овцы! вооружившись знаниями из этой статьи: livestreet.ru/blog/1524.html, и движком любой версии, вы захотели что-то сверстать и что-то добавить в свой шаблон(допустим это будет блок с произвольной информацией, в произвольном расположении на странице)попытаюсь популярно рассказать как что сделать.

делаем взмах волшебной палочкой! Поехали.

допустим вы решили под шапкой

шапка

Cделать блок с какой нибудь интересной информацией(приветствие нового гостя на сайте с предложением о регистрации, допустим)

Для начала нам нужно создать div элемент который собственно и будет представлять наш блок.лезем в header.tpl и в (желательно вконце)вставляем наш div с любым названием, допустим он будет называться infoblock.

<div id="infoblock">   </div>


Как мы видим div внутри пустой(туда можно запихнуть все что угодно), сохраняем изменения в нашем header.tpl и лезем в таблицу стилей style.css

в таблице стилей мы прописываем стиль нашего только что созданного div'a:


#infoblock {
background: #000000; - цвет
height:210px; - высота
width:100%; - ширина
}



Чтобы не было путаницы в дальнейшем, советую прописывать все стили под заголовками элемента к которому этот стиль пренадлежит, в данном случае стиль мы прописываем под заголовком /* Header

Пляшем с бубнами Сохраняем все это дело и заливаем на фтп.смотрим и видим: блок черного цвета с высотой 210px и 100% шириной.

Остановимся на этом этапе :) информация расчитана на новичков, но надеюсь будет полезна всем.

В следующей статье я расскажу:

1)Как добавить в новоиспиченный блок приветствие и любую другую информацию.
2)кнопочку регистрации.
3)как сделать так чтобы этот блок исчезал с глаз долой после регистрации или входа посетителя.

Как пользователя Контакта превратить в вашего.


Думаю эта информация будет полезна авторам сайтов у которых нет команды (стартового ядра )для начального наполнения сайта или средств для найма вменяемых «постеров».

И так, у вас есть готовый проект, но нет людей кроме вас кто готов туда писать или как минимум комментировать, то что пишите вы… денег на рекламу тоже нет… в поисковиках вас нет… и никто о вас не знает…

Скажем спасибо Контакту, за то что он собрал много людей и разделил их на целевые группы (что нам и надо).
Читать дальше →

Новые возможности по переопределению/наследованию классов LiveStreet

В LS появилась новая возможность для разработчиков плагинов — наследование классов. Идея была высказана еще avadim'ом здесь.
Эта возможность позволит удобно переопределять различные методы одного класса (модуля, экшена, сущности, маппера) разными плагинами без конфликтов.
Главное отличие от делегирование — не происходит блокировки переопределения класса для других плагинов. Также есть возможность переопределения одного метода разными плагинами, но здесь разработчикам нужно быть очень осторожными и делать так, чтоб свести вероятность конфликта к минимуму.

Как использовать.
Например, нужно переопределить метод получения пути до аватара у сущности пользователя в плагине Test. В плагине необходимо объявить те классы, которые будут наследоваться. Объявление происходит в свойстве $aInherits:
<?php
class PluginTest extends Plugin {
    
    protected $aInherits=array(
       'entity'  =>array('ModuleUser_EntityUser'=>'_ModuleSide_EntityUser')
    );

    public function Activate() {        
        return true;
    }
    
    public function Init() {        
    }
}
?>

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