Как прикрутить Категории(поведения-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 объектом?
Что необходимо ещё прикрутить, чтобы запись происходила?
Какими вызовами в дальнейшем пользоваться, чтобы получать категорию(и) текущего объекта\списка?

Делаю конкурента Reddit, 9GAG.

Эти сайты очень популярные в Америке. Поэому в дальнейшем я считаю такие сайты будут забирать аудиторию в соц сетях ибо они более интересны благодаря своей технологией сортировки контента — популярное, новое, горячое. В соц сетях тебе предлагают только новое.



Вот статистика Вконтакте за последние 3 года, если тенденция будет оставатся неизменной то через 5-6 лет Вконтакте утратит свое первенство в лучшем случае. Така же ситуация и в других соц сетях.

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

Спасибо.

Получить дополнительное поле топика в Text.class

Здравствуйте. У меня такая задачка. В Text.class идет обработка текста топика по определенным правилам. Мне нужно к некоторым тегам добавить данные, которые хранятся в топике в поле topic_extra. Как их можно получить?

Какой хостинг нужен для сайта на LiveStreet CMS?

Всем привет!
Знающие люди, подскажите пжлст какой хостинг нужен для размещения сайта на LiveStreet CMS?

На какие аспекты обратить внимание при выборе? В этой теме не сильна.

Буду благодарна за подробные ответы!

поддержка tel:

Возникла необходимость установить номер телефона (email, sKype) в качестве ссылки в топике: просматривающий топик на смартфоне нажимает ссылку и звонит (пишет почту). Работающее везде решение
в виде:
<a href="tel:+1234567890"> Звоните нам бесплатно! </ a> 


не работает.

Подскажите,, что не правильно?

Подскажите, как вставить иконки в меню навигации как на сайте 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" />


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