Решено Передать параметр в шаблон полосы навигации

Статус
В этой теме нельзя размещать новые ответы.

Элионт

Проверенные
Сообщения
36
Реакции
20
Баллы
1,705
Доброе время суток.
Разбираюсь с плагинами, собрал первый который LikeReviewRus.
Теперь хочу сделать чтобы выводило сколько лайков у тебя и топа форума, но не могу найти как передать параметр в шаблон.

ss (2016-01-15 at 02.43.24).png

Код:
<ul class="secondaryContent blockLinksList">
   <li><a href="{xen:link likes-review}">{xen:phrase LikeReviewRus_Header, 'numPosts={xen:count $likedPosts}'}</a></li>
</ul>

Единственное где нашёл что связывается с этим шаблоном:
Код:
  $extraTabs['likes-review'] = array(
  'title' =>  new XenForo_Phrase('LikeReviewRus_Header'), //Название основной вкладки
  'href'  =>  XenForo_Link::buildPublicLink('likes-review'), //Строим ее ссылку
       'selected' => ($selected == 'likes-review'), //Определяем, на ней ли мы сейчас
       'linksTemplate' => 'likereviewrus_links', //определяем шаблон для рендеринга под-ссылок
  );
Но здесь передаётся ограниченный набор конкретных параметров, а надо как в контроллере:

Код:
    $likedPosts = $this->_getLikeReviewModel()->getMostLikedPosts($maxResults);

     $viewParams = array(
       'likedPosts' => $likedPosts
     );

     return $this->responseView('LikeReviewRus_ViewPublic_Index', 'likereviewrus_index', $viewParams);

Заранее спасибо.
 
Доброе время суток.
Разбираюсь с плагинами, собрал первый который LikeReviewRus.
Теперь хочу сделать чтобы выводило сколько лайков у тебя и топа форума, но не могу найти как передать параметр в шаблон.

Посмотреть вложение 46701

Код:
<ul class="secondaryContent blockLinksList">
   <li><a href="{xen:link likes-review}">{xen:phrase LikeReviewRus_Header, 'numPosts={xen:count $likedPosts}'}</a></li>
</ul>

Единственное где нашёл что связывается с этим шаблоном:
Код:
  $extraTabs['likes-review'] = array(
  'title' =>  new XenForo_Phrase('LikeReviewRus_Header'), //Название основной вкладки
  'href'  =>  XenForo_Link::buildPublicLink('likes-review'), //Строим ее ссылку
       'selected' => ($selected == 'likes-review'), //Определяем, на ней ли мы сейчас
       'linksTemplate' => 'likereviewrus_links', //определяем шаблон для рендеринга под-ссылок
  );
Но здесь передаётся ограниченный набор конкретных параметров, а надо как в контроллере:

Код:
    $likedPosts = $this->_getLikeReviewModel()->getMostLikedPosts($maxResults);

     $viewParams = array(
       'likedPosts' => $likedPosts
     );

     return $this->responseView('LikeReviewRus_ViewPublic_Index', 'likereviewrus_index', $viewParams);

Заранее спасибо.

Делайте в моделе свою функцию которая отвечает за вывод этих значений.
К примеру по такому запросу
Код:
public function myLikedPosts($userId) {
$myLike = "
SELECT COUNT(*)
FROM xf_post
WHERE likes != 0
AND user_id = ?
";
return $this->_getDB()->fetchOne($myLike, $userId);
}

И потом как я понял сюда передавайте значения.

Код:
    $visitor = XenForo_Visitor::getInstance();
    $userId = $visitor['user_id'];
    $likedPosts = $this->_getLikeReviewModel()->getMostLikedPosts($maxResults);
    $myLikedPosts = $this->_getLikeReviewModel()->getMyLikedPosts($userId);
  

     $viewParams = array(
       'likedPosts' => $likedPosts,
       'myLikedPosts' => $myLikedPosts,
     );

     return $this->responseView('LikeReviewRus_ViewPublic_Index', 'likereviewrus_index', $viewParams);

Вроде бы так :-D
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу