Понадобилось вытащить список материалов подкатегорий
Сделал на основе этого решения:
http://merinovkv.ru/blog/joomla/vyvodim-spisok-materialov-v-spiske-kategorij-joomla-2-5/но не в блоге, а в списке категории (/category/default_children.php)
все заработало, но только при выключенном SEF, как только ЧПУ включаю - ссылка меняется и ведет в никуда
Как правильно прописать ссылку на материал, так что бы при включенном ЧПУ работала?
Весь код файла:
<?php
/**
* @package Joomla.Site
* @subpackage com_content
* @copyright Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// no direct access
defined('_JEXEC') or die;
$class = ' class="first"';
?>
<?php if (count($this->children[$this->category->id]) > 0) : ?>
<ul>
<?php foreach($this->children[$this->category->id] as $id => $child) : ?>
<?php
if ($this->params->get('show_empty_categories') || $child->getNumItems(true) || count($child->getChildren())) :
if (!isset($this->children[$this->category->id][$id + 1])) :
$class = ' class="last"';
endif;
?>
<li<?php echo $class; ?>>
<?php $class = ''; ?>
<span class="item-title"><a href="<?php echo JRoute::_(ContentHelperRoute::getCategoryRoute($child->id));?>">
<?php echo $this->escape($child->title); ?></a>
</span>
<?php if ($this->params->get('show_subcat_desc') == 1) :?>
<?php if ($child->description) : ?>
<div class="category-desc">
<?php echo JHtml::_('content.prepare', $child->description, '', 'com_content.category'); ?>
</div>
<?php endif; ?>
<?php endif; ?>
<?php if ( $this->params->get('show_cat_num_articles', 1)) : ?>
<dl>
<dt>
<?php echo JText::_('COM_CONTENT_NUM_ITEMS') ; ?>
</dt>
<dd>
<?php echo $child->getNumItems(true); ?>
</dd>
</dl>
<?php endif ; ?>
<?php if (count($child->getChildren()) > 0 ) :
$this->children[$child->id] = $child->getChildren();
$this->category = $child;
$this->maxLevel--;
if ($this->maxLevel != 0) :
echo $this->loadTemplate('children');
endif;
$this->category = $child->getParent();
$this->maxLevel++;
endif; ?>
<?php
$db =& JFactory::getDBO();
$query = $db->getQuery(true);
//echo ($child->id);
$query = 'SELECT * FROM `#__content` WHERE `catid`='.$child->id.' AND `state`>0';
$db->setQuery($query);
$res= $db->loadObjectList();
foreach ($res as $concert) {
echo '<li>';
//print_r ($concert);
echo '<a href="'.JRoute::_(ContentHelperRoute::getArticleRoute($concert->id)).'">'.$concert->title.'</a>';
echo '</li>';
}
?>
</li>
<?php endif; ?>
<?php endforeach; ?>
</ul>
<?php endif; ?>
вот эту строчку написать правильно нужно:
echo '<a href="'.JRoute::_(ContentHelperRoute::getArticleRoute($concert->id)).'">'.$concert->title.'</a>';