Перейти к содержимому


Фотография
- - - - -

Вывод описания категории в позицию вне компонента


Лучший Ответ SmetDenis , 18 June 2015 - 10:57

У меня все работает...
Не знаю у почему у вас не получается.

<?php
$zoo = App::getInstance('zoo');
$categoryId = $zoo->jbrequest->getSystem('category');
if ($categoryId > 0) {
    $zooCategory = $zoo->table->category->get($categoryId);
    if ($zooCategory && $zooCategory->description) {
        echo $zooCategory->getText($zooCategory->description);
    }
}
?>
Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 16

#1 woodman

woodman

Отправлено 17 June 2015 - 10:39

Как заставить описание категории выводиться в нужной позиции index.php вне компонента?

Если я правильно понимаю, мне нужно записать в желаемой позиции правильное обращение к этому блоку.


Сообщение отредактировал lotosdima: 17 June 2015 - 11:33

  • 0

#2 Cheren-dow

Cheren-dow

Отправлено 17 June 2015 - 10:51

lotosdima, используйте API компонента. 


  • 0
Изображение
 

#3 woodman

woodman

Отправлено 17 June 2015 - 12:16

Если не сложно, подскажите более подробно.

Я вот пытаюсь обратиться к приложению и потом вывести описание категории, но получаю Fatal error.

<div id="my-position">
<?php 
     $app = App::getInstance('zoo');
     if (!$this->app->jbrequest->get('page') and (int)$this->params->get('template.category_text', 1) && $category->description) {
     echo '<div class="description-full">' .  $category->getText($category->description). '</div>';
     }
?>
</div>

  • 0

#4 Cheren-dow

Cheren-dow

Отправлено 17 June 2015 - 13:24

lotosdima, получаете модель категории

$categoryModel = $this->app->table->category;
$category = $categoryModel->get(2); // получаете категорию по id
echo $category->description; // выводим описание 

  • 0
Изображение
 

#5 woodman

woodman

Отправлено 17 June 2015 - 14:20

Получаю ошибку  Call to a member function get() on a non-object


  • 0

#6 Cheren-dow

Cheren-dow

Отправлено 17 June 2015 - 14:37

Попробуйте тогда использовать

$app = App::getInstance('zoo');
$categoryModel = $app->table->category;
$category = $categoryModel->get(2);
var_dump($category);

  • 0
Изображение
 

#7 woodman

woodman

Отправлено 17 June 2015 - 15:21

Нет, не работает. Страница просто не загружается, белый экран и вечная загрузка.

Кстати, что это за параметр get(2)? Это ID категории?


  • 0

#8 Cheren-dow

Cheren-dow

Отправлено 17 June 2015 - 16:21

Нет, не работает. Страница просто не загружается, белый экран и вечная загрузка.
 

В каком месте вы пробуете вывести? Какая ошибка?

Кстати, что это за параметр get(2)? Это ID категории?

Да это id нужной категории. Все должно работать несколько раз у себя в разных местах проверил. 


  • 0
Изображение
 

#9 SmetDenis

SmetDenis

Отправлено 17 June 2015 - 16:36

Просто замечание

var_dump($category);

Слишком жестко, т.к распечатается огромная портянка.
Проще проверить переменную через $category->name;
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#10 woodman

woodman

Отправлено 17 June 2015 - 19:54

Это все хорошо, но задача у меня иная.

Не нужно жестко привязываться к категории. Мне нужно чтоб на каждой странице категории в нужной мне позиции выводилось описание этой же категории, а не категории с ID=2. Я уже упоминал, что это должно быть вне компонента, сразу после <body>


  • 0




Click to return to top of page in style!