+40.38
Рейтинг
83.95
Сила

Denis Shakhov

Дизайнеру на заметку — что необходимо нарисовать для сайта на LiveStreet 1.0

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


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

Тестирование дефолтного шаблона Synio для LS 1.0


Предлагаем пользователям поучаствовать в тестировании и выявлении ошибок/багов в новом дефолтном шаблоне Synio.
Synio — это тот самый шаблон, который стал победителем конкурса на лучший дизайн.

Тестирование доступно по адресу — new.livestreet.ru
Баги, как обычно, оставляем в комментариях.

Огромная просьба — НЕ ДУБЛИРОВАТЬ баги, перед написанием прочтите комментарии, которые оставили до вас.

Новые возможности по переопределению/наследованию классов 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() {        
    }
}
?>

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

Ставим хук внутри шаблона.

Появилась возможность устанавливать хуки прямо внутри шаблона — trac.lsdev.ru/livestreet/changeset/848
Делается это за счет плагина к Smarty hook, например:
{hook run='body_begin'}
вызовет хуки повешенные на событие 'template_body_begin'(обратите внимание, что приставка template_ добавляется автоматически, если хук вызван из шаблона), а их результат в виде строки вернется в шаблон.

Предлагаю определиться какие нужны стандартные хуки? Сейчас добавлено только два: body_begin и body_end, соответственно вызываются в начале HTML тега BODY и в конце.

Новые возможности форматирования дат

В версии 0.4 значительно улучшены возможности по работе с датами. Ввиду большого числа писем по этому поводу, опишу здесь основные моменты и правила пользования новыми параметрами форматирования дат:

0. Вступление.

За оформление даты в Smarty-шаблоне отвечает тот же, что и раньше, smarty-тег {date_format}. Тег требует только один обязательный параметр 'date' — собственно дата. Простейший вариант вывода:
{date_format date=$oTopic->getDateAdd()}

в результате получаем самый обычный:
10 декабря 2009, 00:35

Информация для разработчиков: date_format работает теперь не через функцию в function.php, а через специально написанный для движка smarty-плагин.


Дополнительные параметры формата

Настройка веб-сервера VPS/VDS для Debian/Ubuntu

Решил написать данную статью для того, чтобы собрать всю информацию по данному поводу в одном месте.
У многих возникает вопросы по оптимизации сервера. Расскажу как я добился скорости загрузки страницы за 0.013 секунд.
Итак. У нас есть чистый Debian либо Ubuntu.

Нам предстоит установить и настроить:
— Apache 2
— PHP 5
— MySQL 5
— nginx
— memcached
— eAcellerator
— Sphinx

Буду писать для Ubuntu Server 9.04, впринципе для дебиана почти всё так же.
Расчитываем на то, что сеть у нас уже настроена.
Читать дальше →