Всем Привет!
Занялся сегодня наполнением
Все дело в том, что при добалении вопроса от пользователя,
он попадает в базу и ждет модерации (если включено в админке) или сразу публикуется.
Все хорошо, Но админ об этом может узнать только в админке,
на странице компонента, что не всегда удобно и быстро получается....
Решил немного доработать процесс добавления вопроса и думаю многим это пригодится,
кто использует или собирается использовать FAQ компонент в Инстанте.
Так как я не сторонник постоянного нахождения в админке,
решил прикрутить уведомление и упростить модерацию поступивших вопросов.
Правок не много и все они простые, без вмешательств в работу компонента.
Делал на 1.10., но думаю и на 1.9 примерно все так же будет.
В Файле \www\components\faq\frontend.php
После строки:Добавляем:
Цифра 1 – это ID пользователя кому придет уведомление, по умолчанию – админ
Далее в этом же файле, Перед строкойДобавляем:
Далее идем в файл \www\components\faq\router.php
После строкиДобавляем:
И последнее, делается для удобства модерации:
В файле:
\www\templates\ **Ваш_Шаблон** \components\com_faq_read.tpl
В самом начале найти строку:
И поменять ее на эту:
На этом все.
Теперь админу (или тому кого указать) будет приходить уведомление о необходимости модерации вопроса.
На странице вопроса можно его быстро одобрить или удалить (это может только админ)
.
Занялся сегодня наполнением
FAQ
на сайте и заметил такую не очень удобную штуку..Все дело в том, что при добалении вопроса от пользователя,
он попадает в базу и ждет модерации (если включено в админке) или сразу публикуется.
Все хорошо, Но админ об этом может узнать только в админке,
на странице компонента, что не всегда удобно и быстро получается....
Решил немного доработать процесс добавления вопроса и думаю многим это пригодится,
кто использует или собирается использовать FAQ компонент в Инстанте.
Так как я не сторонник постоянного нахождения в админке,
решил прикрутить уведомление и упростить модерацию поступивших вопросов.
Правок не много и все они простые, без вмешательств в работу компонента.
Делал на 1.10., но думаю и на 1.9 примерно все так же будет.
В Файле \www\components\faq\frontend.php
После строки:
$quest_id = $inDB->get_last_id('cms_faq_quests');
$messag = 'Задан <a href="/faq/quest'.$quest_id.'.html">вопрос #'.$quest_id.' </a> в разделе помощи и ожидает модерации!'; cmsUser::sendMessage(USER_UPDATER, '1', $messag);
Цифра 1 – это ID пользователя кому придет уведомление, по умолчанию – админ
Далее в этом же файле, Перед строкой
$inCore->executePluginRoute($do);
if ($do=='publ'){ // ks_micro_hack $quest_id = $inCore->request('quest_id', 'int', 0); $user_id = $inUser->id; $sql = "SELECT con.id, con.quest, con.category_id FROM cms_faq_quests con WHERE con.id = '$quest_id' LIMIT 1"; $result = $inDB->query($sql); $quest = $inDB->fetch_assoc($result); if (!$user_id || !$quest_id || !$quest) { $inCore->redirectBack(); } if (cmsUser::userIsAdmin($user_id)){ $sql = "UPDATE cms_faq_quests SET published = 1 WHERE id='$quest_id'"; $result = $inDB->query($sql); $quest = $inDB->fetch_assoc($result);} $inCore->redirect('/faq/'.$quest['category_id']);}
Далее идем в файл \www\components\faq\router.php
После строки
function routes_faq(){
'_uri' => '/^faq\/publ([0-9]+).html$/i', 'do' => 'publ', 1 => 'quest_id' );
И последнее, делается для удобства модерации:
В файле:
\www\templates\ **Ваш_Шаблон** \components\com_faq_read.tpl
В самом начале найти строку:
<div class="con_heading">{$LANG.QUESTION_VIEW} {if $is_admin}<a href="/faq/delquest{$quest.id}.html">X</a>{/if}</div>
<div class="con_heading">{$LANG.QUESTION_VIEW} {if $is_admin}<a style="color:green" href="/faq/publ{$quest.id}.html">Публикуем?</a> или <a style="color:red" href="/faq/delquest{$quest.id}.html">Удаляем?</a>{/if}</div>
На этом все.
Теперь админу (или тому кого указать) будет приходить уведомление о необходимости модерации вопроса.
На странице вопроса можно его быстро одобрить или удалить (это может только админ)
.
Реклама #
qwest 11 лет назад #
KS 11 лет назад #
несколько раз, где вместо 1 - указать id получателя.
или сделать так: cmsUser::sendMessageToGroup(USER_UPDATER, '2', $messag);
где 2 - это id группы которой нужно отправить уведомление
qwest 11 лет назад #
Malanas 11 лет назад #
Dost 11 лет назад #
Amurland 11 лет назад #
+1
Как-то на форуме разбирали данный вопрос. Но там делали отсылку на почту.
Князь Мышкин 11 лет назад #
Вообще, недурно бы было в принципе штуку придумать, которая бы уведомляла о любом типе контента, который падает в модерацию.
Наверняка же плагин можно запилить. Я бы даже купил
Anonim 11 лет назад #
Давайте соберем где-нибудь все такие хаки, и попросим их авторов включить эти изменения в новую версию? было бы очень полезно
KS 11 лет назад #
В любом случае лучше подождать финальную.
А это, так, костыль для тех кому лень ждать ))
Search 11 лет назад #
KS 11 лет назад #
pikasso 10 лет назад #
Олег Васильевич я 11 лет назад #
nedoriko 11 лет назад #
+ и в карму тоже
Kamunikator 11 лет назад #
Сергей 11 лет назад #
Почему бы не вынести выбор пользователя который будет получать уведомления в настройки?
Def 11 лет назад #
Петр 11 лет назад #
pikasso 10 лет назад #
pikasso 9 лет назад #