Как прикрутить Категории(поведения-behaivor) к Топику? ЛС 2

Вопрос освещённый, но не получилось докрутить поведения…

Использовал как исходную информацию:
1. раз
2. два
3. Категории, прикрученные к Блогам.

Что сделано:
1. В класс топика добавлен:
protected $aBehaviors = array(
        'category' => array(
            'class'       => 'ModuleCategory_BehaviorModule',
            'target_type' => 'topic',
        ),
    );

2. В класс сущности:
protected $aBehaviors = array(
        /**
         * Дополнительные поля
         */
        'property' => 'ModuleProperty_BehaviorEntity',
        /**
         * Настройка категорий
         */
        'category' => array(
            'class'                          => 'ModuleCategory_BehaviorEntity',
            'target_type'                    => 'topic',
            'form_field'                     => 'category',
            'multiple'                       => true,
        ),

    );

ЗЫ. Свойства уже были…

3. В шаблон добавления\редактирования добавил :
{insert name='block' block='fieldCategory' params=[ 'target' => $topic, 'entity' => 'ModuleTopic_EntityTopic' ]}


4. В функциях экшенов создания(EventAjaxAdd) и редактирования(EventAjaxEdit) перед публикацией\отправкой в черновик добавлено:
$oTopic->category->CallbackAfterSave();


В итоге:
При открытии формы создания\редактирования категории подтягиваются, но при сохранении\создании
топика в таблицу не записываются значения.

Вопросы:
Запись не происходит, потому что Топик не является ORM объектом?
Что необходимо ещё прикрутить, чтобы запись происходила?
Какими вызовами в дальнейшем пользоваться, чтобы получать категорию(и) текущего объекта\списка?

Подскажите, как вставить иконки в меню навигации как на сайте LS

сделал отдельный компонент для пунктов меню навигации, но в сайдбаре:
{component 'nav' hook='user_profile' activeItem=$sMenuProfileItemSelect mods='stacked' classes='external-userbar' hookParams=[ 'oUserProfile' => $oUserCurrent ] items=[
            [ 'name' => 'whois',      'text' => {lang name='user.profile.nav.info'},         'url' => "{$oUserCurrent->getUserWebPath()}" ],
            [ 'name' => 'wall',       'text' => {lang name='user.profile.nav.wall'},         'url' => "{$oUserCurrent->getUserWebPath()}wall/", 'count' => $iUserCurrentCountWall ],
            [ 'name' => 'created',    'text' => {lang name='user.profile.nav.publications'}, 'url' => "{$oUserCurrent->getUserWebPath()}created/topics/", 'count' => $iUserCurrentCountCreated ],
            [ 'name' => 'favourites', 'text' => {lang name='user.profile.nav.favourite'},    'url' => "{$oUserCurrent->getUserWebPath()}favourites/topics/", 'count' => $iUserCurrentCountFavourite ],
            [ 'name' => 'friends',    'text' => {lang name='user.profile.nav.friends'},      'url' => "{$oUserCurrent->getUserWebPath()}friends/", 'count' => $iUserCurrentCountFriends ],
            [ 'name' => 'activity',   'text' => {lang name='user.profile.nav.activity'},     'url' => "{$oUserCurrent->getUserWebPath()}stream/" ],
            [ 'name' => 'talk',       'text' => {lang name='user.profile.nav.messages'},     'url' => "{router page='talk'}", 'count' => $iUserCurrentCountTalkNew ],
            [ 'name' => 'settings',   'text' => {lang name='user.profile.nav.settings'},     'url' => "{router page='settings'}" ],
            [ 'name' => 'admin',      'text' => {lang name='admin.title'},                   'url' => "{router page='admin'}", 'is_enabled' => $oUserCurrent && $oUserCurrent->isAdministrator() ],
            [ 'name' => 'logout',     'text' => {lang name='auth.logout'},                   'url' => "{router page='auth'}logout/?security_ls_key={$LIVESTREET_SECURITY_KEY}" ]
        ]}


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

Плагин "Simple Open Graph" - простенькая поддержка Open Graph для LS 1.0.X

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

Плагин добавляет мета-данные Open Graph. Без особых наворотов.

Что такое Open Graph?
1. ogp.me/
2. yandex.ru/support/webmaster/open-graph/intro-open-graph.html

И каков результат?
Для страницы топика результат выглядит примерно так:
<meta property="og:site_name" content="ММОзговед"/>
<meta property="og:locale" content="ru_RU" />
<meta property="og:title" content="Почему развивать MMO на основе платных дополнений - плохая идея / Теория MMO / ММОзговед" />
<meta property="og:url" content="https://mmozg.net/theory/2017/04/28/pochemu-razvivat-mmo-na-osnove-platnyh-dopolneniy-plohaya-ideya.html" />
<meta property="og:type" content="article"/>
<meta property="og:description" content="Сегодня по формальным признакам можно назвать термином MMO большинство форм онлайновых развлечений. Дискуссии ведутся разве что вокруг двойной “M” — достаточно ли массовый мультиплеер. Но и здесь можно найти множество формальных лазеек. Я же считаю, что без единого цельного мира со свободным взаимод"/>
<meta property="og:image" content="https://mmozg.net/uploads/images/00/00/01/2017/04/28/6e5fac.jpg" />
<meta property="article:section" content="Теория MMO"/>
<meta property="article:published_time" content="2017-04-28T14:09:31+03:00"/>
<meta property="article:tag" content="теория ММО" />
<meta property="article:tag" content="buy-to-play" />
<meta property="article:tag" content="дополнение" />
<meta property="article:tag" content="Elite: Dangerous" />
<meta property="article:tag" content="Guild Wars 2" />


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

Версия LiveStreet 2.0.1

Вышла баг-фиксная версия LiveStreet 2.0.1. Нового функционала практически нет, в основном это исправление ошибок и доведение до стабильной работы относительно LiveStreet 2.0.0.

Помимо движка обновилась и админ-панель, теперь в ней доступен список шаблонов из каталога + пофиксили баги.

Загрузить можно здесь — livestreetcms.ru/download/get/

Фикс багов на сайте, мелкие доработки (решено)

Умудрился я скачать и поставить шаблон Orion, а там… конь не валялся.

Мелкие доработки по мере знаний провел, но остались всякие «не удобности» и «хочу, что бы работало по другому».

Из «не удобностей»
1. Не работает пагинация в списке юзеров(просто не отображает кнопки) и в плагине компаний(рандомно на страницу выбирает компании).
2. Не дружит с плагином компаний в плане брендирования, при добавлении фото для брендирования ломает весь шаблон.
3. В ленту новостей не вытягивает имя написавшего комменарий (используется Opencomments), хотя в прямой эфир запрос getGuestName работает.

Из «хочу, что бы работало по другому»
1. При заходе в топик из него берется изображение (плагин mainpreview) и заливает его в фон сайта, хочу что бы брендирование компаний работало так же.
2. Если отсутствует изображение в топике, то в шапке сайта белое поле, нужно подставлять рандомную картинку…
3. При добавлении логотипа компании он обрезается квадратом, обрезая левый и правый край, нужно поменять функцию, что бы логотип, если он прямоугольно-горизонтальный — обрезал оставляя всю ширину.

p.s. К автору шаблона не обращался ибо почитал топики про шаблон, нет авторов. К автору плагина Компаний тоже не обращался, на его демке все работает…

Кто может помочь с этими вопросами?

Ссылка в социальные сети

Может кто сталкивался с таким решением: если делится ссылкой в соцсети на топик, то на стене она имеет вид «Заголовок топика / Блог им. logona / Название сайта».

А как сделать так, чтобы она имела вид только «Заголовок топика»?

ЛС2. Вопрос по выводу контента.

Подскажите, как решить вопрос с выводом статей в ЛС2.
Надо на главной раздельно вывести топики по типам, новости в одной ленте, а топики-галереи в другой. Сделал тип топика новость и оставил код topic. Пробовал так получить {$topic->GetTopicTypeByCode('topic')} но не выводит.
Может через смарти функции нельзя вывести и надо отдельный метод для сортировки по типу топика делать?

Плагин "оповещения" v2.0.0

Плагин показывает события которые произошли так или иначе связанных с пользователем. Тем самым улучшает взаимодействие пользователя на сайте. Вовремя оповещая и позволяя отслеживать события которые пользователь мог не заметить.




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