我正在为电子商务网站创建一个Joomla博客覆盖,我正在寻求帮助。我想将子类别用作页面上的辅助导航或过滤器,以确定显示哪些文章。它们应该全部显示在同一页面上,一次只显示一个类别(用户选择)。
我可以看到了 $这 - >儿童[$这 - >分类 - > ID] 调用子类别,我只需要帮助弄清楚如何选择子类别的文章。
任何帮助将不胜感激!
答案 0 :(得分:0)
这里只是几个基本方向:
正如Brian Boli在评论中所说,这需要javascript。你必须实现它的方式取决于你想要实现的目标。
如果这些只是一些文章,那么你可以像Brian所说的那样,通过调用/加载页面中的所有文章并使用简单的javascript(可能是jQuery)来显示/隐藏页面中的文章元素他们的身份。
但是,如果您的类别包含数百篇文章,那么这可能效率不高。 使用子类别作为过滤器并使所有这些文章出现在同一博客页面/网址中而无需使用导航等重新加载,将需要AJAX实现。因此,subcat过滤器将从数据库中调用亲属文章并立即更新视图。
如果您不满足所有这些,您可以在同一页面上保留即时视图更新的想法,并创建一个可在博客页面上动态工作的简单模块(或可能搜索现有模块)(但不一定),并将显示所有子类别以及指向其博客布局的链接。
获取每个类别的文章:
嗯......你有类别ID,所以你可以直接从数据库中调用文章,或者更好地使用Joomla Model来获取blog_children.php模板中每个类别的文章。
$model = JModelList::getInstance('Articles', 'ContentModel', array('ignore_request'=>true));
$appParams = JFactory::getApplication()->getParams();
$model->setState('params', $appParams);
$model->setState('filter.category_id', $child->id);
$items = $model->getItems();
foreach ($items as $item) {
echo "<div class='span12'>";
echo $item->title;
echo "</div>";
}
希望这会让你更接近你想要达到的目标。