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


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

Как получить ссылку на категорию для материала?


Лучший Ответ SmetDenis , 02 August 2016 - 12:34

Кажется есть стандартный элемент категорий для этого.

Если кодом, то вот так

$category = $item->getPrimaryCategory();
echo $this->app->route->category($category);
Перейти к сообщению


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

#1 Denn Loginov

Denn Loginov

Отправлено 02 August 2016 - 11:51

Использую следующий код:

$this->app->route->category($this->_item)

Работает с категориями, однако при загрузке маетриала с подкатегории выдает ошибку:

Fatal error: Call to undefined method Item::getPathway() in \administrator\components\com_zoo\helpers\route.php on line 463

  • 0

#2 SmetDenis

SmetDenis

Отправлено 02 August 2016 - 12:19


Метод category() принимает объект категории, а не материала.
Это разные типы переменных.

$this->app->route->category($category);
$this->app->route->item($item);
Может просто опечатка?
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



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


#3 Denn Loginov

Denn Loginov

Отправлено 02 August 2016 - 12:29

Метод category() принимает объект категории, а не материала.
Это разные типы переменных.
 

$this->app->route->category($category);
$this->app->route->item($item);
Может просто опечатка?

 

Так как мне в материале получить ссылку именно на родительскую категорию? шаблон full


  • 0

#4 SmetDenis

SmetDenis

Отправлено 02 August 2016 - 12:34   Лучший Ответ

Кажется есть стандартный элемент категорий для этого.

Если кодом, то вот так
$category = $item->getPrimaryCategory();
echo $this->app->route->category($category);

  • 1
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



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


#5 Denn Loginov

Denn Loginov

Отправлено 10 August 2016 - 13:28

В модуле JbZoo Item выводятся материалы с категории.

Есть возможность каким образом получать ссылку на категорию?


  • 0

#6 MOKEV

MOKEV

Отправлено 10 August 2016 - 13:37

Может вот так получится:

$category = $this->app->jbrequest->getSystem('category');
echo $this->app->route->category($category);

Сообщение отредактировал Evgeny_M: 10 August 2016 - 13:37

  • 0

#7 Denn Loginov

Denn Loginov

Отправлено 11 August 2016 - 07:17

Не, не помогает, может можно как-то с параметров выбирать название категории, а там уже по названию получать ссылку?


  • 0

#8 SmetDenis

SmetDenis

Отправлено 11 August 2016 - 14:59

Категорию по имени можно выбрать так

$categories = $this->app->table-category->getByName($appId, $name);
 
// получаем массив объектов, т.к имя это не уникальное поле
$categories[0];
$categories[1];
 
echo $this->app->route->category($categories[0]); // ссылка

 

Перенес тему в раздел про разработку расширений, т.к вопросы в основном про API.


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



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


#9 Denn Loginov

Denn Loginov

Отправлено 11 August 2016 - 15:28

А что за переменная $appId ? ( Поставил 1, получил массив значений, однако ссылку все равно оттуда не вытягивает)

Notice: Undefined offset: 0 in \modules\mod_jbzoo_item\tmpl\default.php on line 23

Notice: Trying to get property of non-object in \administrator\components\com_zoo\helpers\route.php on line 129

Notice: Trying to get property of non-object in \administrator\components\com_zoo\helpers\route.php on line 129

Notice: Trying to get property of non-object in \administrator\components\com_zoo\helpers\route.php on line 139

Fatal error: Call to a member function getCategoryTree() on boolean in \administrator\components\com_zoo\helpers\route.php on line 139

Сообщение отредактировал Denn Loginov: 11 August 2016 - 15:41

  • 0

#10 SmetDenis

SmetDenis

Отправлено 11 August 2016 - 15:44

А что за переменная $appId ?

Это ID каталога, к которому принадлежит категория.

 

 

 

 

Notice: Undefined offset: 0 in \modules\mod_jbzoo_item\tmpl\default.php on line 23

У вас выборка пустая.

Сделайте дамп, убедитесь.


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



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





Click to return to top of page in style!