Jump to content


Photo
- - - - -

Как в шаблоне тизера получить item_id


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

#1 promo

promo
  • JBZoo User (rus)
  • User rate: 0
  • posts: 125
  • topics: 45

Posted 05 April 2013 - 14:13

Здравствуйте, хочу убрать дубли ссылкок на материал который отнесен к различным категориям.
Для этого нужно в шаблоне тизера :

/media/zoo/applications/jbuniversal/templates/catalog/renderer/item/product/teaser.php

как то получить id элемента, вопрос как это правильно сделать?
  • 0

#2 RomanL

RomanL
  • JBZoo User (rus)
  • User rate: 0.6
  • posts: 1022
  • topics: 28

Posted 05 April 2013 - 15:15

$item->id
  • 0
[color=#aa0000]Не забывайте нажимать кнопку «Вопрос Решён» и «+1» под сообщением, которое Вам помогло[/color]

#3 promo

promo
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0
  • posts: 125
  • topics: 45

Posted 08 April 2013 - 12:32

RomanL, спасибо!

Если кому интерессно:

Получилось избавится от дублей путей на один и тот же товар из разных уровней каталога. Берется самый нижний уровень к к оторому отнесен товар.

файл: /media/zoo/applications/jbuniversal/templates/catalog/renderer/item/product/teaser.php

$query = 'SELECT category_id FROM #__zoo_category_item WHERE item_id = '.(int)$item->id.' ORDER BY category_id DESC LIMIT 0, 2';
$db->setQuery($query);
if(!$db->query()){echo $db->stderr(); return false;}
$rows = $db->loadObjectList();
if(count($rows)>0){
$category_id = (count($rows)>1)? $rows[1]->category_id : $rows[1]->category_id;
$db->setQuery('SELECT id FROM #__menu WHERE menutype = \'mainmenu-left\' AND published = 1');
if(!$db->query()){echo $db->stderr(); return false;}
$rows = $db->loadObjectList();
foreach($rows as $row){
$menuItem = $menu->getItem($row->id);
if($menuItem->params->get('category') == $category_id){
$Itemid = $row->id;
}
}
}
$link = JRoute::_('index.php?option=com_zoo&task=item&item_id='.$item->id.'&Itemid='.$Itemid.'');
[i]echo $link;
[/i]echo '<br/>';
//...
<h4 class="item-title"><?php echo preg_replace('#href="(.*)"#', 'href="'.$link.'"', $this->renderPosition('title')); ?></h4>

  • 0

#4 RomanL

RomanL
  • JBZoo User (rus)
  • User rate: 0.6
  • posts: 1022
  • topics: 28

Posted 08 April 2013 - 14:24

А для чего это все? в ZOO дублей нет, так как используется rel=canonical
  • 0
[color=#aa0000]Не забывайте нажимать кнопку «Вопрос Решён» и «+1» под сообщением, которое Вам помогло[/color]




Click to return to top of page in style!