avatar
+2.50
2.578

Максим

Как изменить активный пункт подменю

Не могу понять как можно изменить в своем экшене активный пункт меню

protected $sMenuSubItemSelect = 'good';

протект запрещает менять из дочки, а методов set я не нашел. :( можно конечно выкрутится через reflect class но это не правильно.

Ошибка или так и должно быть?

Вот решил посмотреть второй свой плагин — Дискуссии и наткнулся на вот такой код
{if C::Get('rating.enabled')}
         <div class="inb outline-no dropdown{if $sMenuSubItemSelect=='top'} active{/if}">
             <a href="{$sMenuSubBlogUrl}top/" class="outline-no btn btn-default dropdown-toggle" data-toggle="dropdown">
                 {$aLang.blog_menu_collective_top}
                 <b class="caret"></b>
             </a>

             <ul class="dropdown-menu light">
                 <li {if $sMenuSubItemSelect=='top' & $sPeriodSelectCurrent=='1'}class="active"{/if}><a
                             href="{$sMenuSubBlogUrl}top/?period=1">{$aLang.blog_menu_top_period_24h}</a></li>
                 <li {if $sMenuSubItemSelect=='top' & $sPeriodSelectCurrent=='7'}class="active"{/if}><a
                             href="{$sMenuSubBlogUrl}top/?period=7">{$aLang.blog_menu_top_period_7d}</a></li>
                 <li {if $sMenuSubItemSelect=='top' & $sPeriodSelectCurrent=='30'}class="active"{/if}><a
                             href="{$sMenuSubBlogUrl}top/?period=30">{$aLang.blog_menu_top_period_30d}</a></li>
                 <li {if $sMenuSubItemSelect=='top' & $sPeriodSelectCurrent=='all'}class="active"{/if}><a
                             href="{$sMenuSubBlogUrl}top/?period=all">{$aLang.blog_menu_top_period_all}</a></li>
             </ul>

             {hook run='menu_blog_blog_item'}
         </div>
         {/if}

и я не могу понять вызов хука вроде не там где он должен быть, ибо нельзя расширить будет меню если будет отключен рейтинг скорее всего нужно его перенести за {if...}

Или этот хук для других целей?

Плагин «Рефералы»

Добавляет в altocms реферальную систему.

— У каждого пользователя профиле появляется ссылка по которой он может привлекать на сайт других пользователей
— Приглашенные пользователи отображаются в профиле пригласившего

Версия altocms 1.1.x-beta

Код открытый, стоимость бесплатно
скачать можно тут Плагин «Рефералы»

Плагин добавлен в каталог, если проидет предмодерацию будет доступен и на сайте.

Есть ли последовательность переопределении экшенов.

Вопрос для меня наверное насущный есть 2 плагина, дискуссии и привязка топика, плагины разные, первый делает сортировку топиков по последнему комменту, второй по признаку ТОП.

Вопрос вот в чем если их активировать то один из плагинов ломает другой, и получается что вся прелесть системы сходит на нет, или я опять упустил что то?

Дополнить сущность блога

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

Думаю было бы очень удобно иметь такую возможность для расширения настроек блогов.

Не срабатывает хук

Не могу найти причину того что не срабатывает хук
$this->AddHook('form_add_blog_end', 'BlogAddEnd', __CLASS__, 303);


вроде ничего нет из того чтобы не сработало, а не хочет, обаботчик простой

        public function BlogAddEnd() {
           return $this->Viewer_Fetch(Plugin::GetTemplatePath('discuss').'inc.formv_blog_add_end.tpl');
        }


на ошибки не ругается просто ничего не работает.

Как получить доступ к функции query?

Я новичек с alto но система понравилась, своей логичностью, решил немного приобщиться к сообществу и сделать пару решении, но столкнулся с проблемой и потратив почти 2 часа я понял что без подсказки знатоков я буду еще долго ее решать.

Суть проблемы в том что не могу получить из класса плагина доступ к функции query чтобы выполнить запросы в БД при активации и диактивации. Если кто то может помочь буду признателен.