Автоматический выбор блога для нового топика
Когда пользователь жмет кнопку Написать, то в выборе блога автоматически ему предлагается Персональный блог. А как было бы здорово, если бы автоматически выбирался именно тот самый блог в котором была нажата кнопка Написать.
Давайте сделаем ее! Тем более это очень просто.
Итак, для этого нам нужно передать ID блога через ссылку. Исправляем путь в кнопке Написать на следующий:
Далее открываем файл ActionTopic.class.php и там добавляем всего две строки:
И осталось немного изменить шаблон, чтобы текущий блог уже был выделен. Открываем ActionTopic/add.tpl и там добавляем проверку:
PS: Ваши шаблоны могут отличаться от моих и если вы что-то не поняли, то обращайтесь за консультацией к Lora_GT ;-)
PPS: За рекламу она не платила :-)
Давайте сделаем ее! Тем более это очень просто.
Итак, для этого нам нужно передать ID блога через ссылку. Исправляем путь в кнопке Написать на следующий:
{$DIR_WEB_ROOT}/topic/add/{$oBlog->getId()}
Далее открываем файл ActionTopic.class.php и там добавляем всего две строки:
/**
* Получаем номер текущего блога
*/
$sBlogId=$this->GetParam(0);
// ... А ниже
$this->Viewer_Assign('sBlogId',$sBlogId);
И осталось немного изменить шаблон, чтобы текущий блог уже был выделен. Открываем ActionTopic/add.tpl и там добавляем проверку:
<select name="blog_id" id="blog_id" onChange="ajaxBlogInfo(this.value);">
<option value="0">{$aLang.topic_create_blog_personal}</option>
{foreach from=$aBlogsOwner item=oBlog}
<option value="{$oBlog->getId()}" {if $sBlogId==$oBlog->getId()}selected{/if}>{$oBlog->getTitle()}</option>
{/foreach}
{foreach from=$aBlogsUser item=oBlogUser}
<option value="{$oBlogUser->getBlogId()}" {if $sBlogId==$oBlogUser->getBlogId()}selected{/if}>{$oBlogUser->getBlogTitle()}</option>
{/foreach}
</select>
PS: Ваши шаблоны могут отличаться от моих и если вы что-то не поняли, то обращайтесь за консультацией к Lora_GT ;-)
PPS: За рекламу она не платила :-)
25 комментариев
Как вы на это смотрите?
Можно посмотреть пример?
это в каком файле меняется? Или в нескольких?
Fatal error: Call to a member function getId() on a non-object in
Как пофиксить? Спасибо…
Это интересное решение банально устарело немного для текущей версии.
Проблема была решена так, место предложенного в данной теме кода
Поставить этот код:
файл
/templates/skin/new/header_nav.tpl
находим
заменяем на
файл ActionTopic.class.php
находим
добавляем после него
файл
файл
/templates/skin/new/header_nav.tpl
находим
заменяем на
файл ActionTopic.class.php
находим
добавляем после него
файл
/templates/skin/new/actions/ActionTopic/add.tpl
находим
заменяем на
в шаблоне /templates/skin/ВАШ_СКИН/actions/ActionTopic/add.tpl сроку
нужно заменить на
спрашивали, то публикую