Jump to content


Photo
- - - - -

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


Best Answer SmetDenis , 02 August 2016 - 12:34

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

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

$category = $item->getPrimaryCategory();
echo $this->app->route->category($category);
Go to the full post


  • This topic is locked This topic is locked
14 replies to this topic

#1 Denn Loginov

Denn Loginov
  • JBZoo User (rus)
  • User rate: 0
  • posts: 31
  • topics: 7

Posted 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
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 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
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0
  • posts: 31
  • topics: 7

Posted 02 August 2016 - 12:29

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

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

 

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


  • 0

#4 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 02 August 2016 - 12:34   Best Answer

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

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

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



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


#5 Denn Loginov

Denn Loginov
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0
  • posts: 31
  • topics: 7

Posted 10 August 2016 - 13:28

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

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


  • 0

#6 MOKEV

MOKEV
  • JBZoo User (rus)
  • User rate: 11.7
  • posts: 143
  • topics: 14

Posted 10 August 2016 - 13:37

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

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

Edited by Evgeny_M, 10 August 2016 - 13:37.

  • 0

#7 Denn Loginov

Denn Loginov
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0
  • posts: 31
  • topics: 7

Posted 11 August 2016 - 07:17

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


  • 0

#8 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 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
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0
  • posts: 31
  • topics: 7

Posted 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

Edited by Denn Loginov, 11 August 2016 - 15:41.

  • 0

#10 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 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!