如何阅读某个URI所属的部分?
我想增强mod_breadcrumb以将section和category放入HTML中。 JApplication-> getPathway()返回一个JPathway,它基本上包含一个组合名称和URL的assiciative数组(如$ list [] - > name和$ list [] - > link)。我认为,应该可以从链接中获取部分和类别,但不知道如何。
一个起点可能是解析为JURI-Object,但从那里我不知道如何进一步发展。有什么想法吗?
答案 0 :(得分:0)
非常直接......
我假设您要为文章而不是自定义组件添加类别和部分。
检查请求的当前网址是否适用于文章。如果是文章,您知道文章ID,请使用此文章ID转到数据库并从catid
获取#__content
,使用此cat_id
转到#__categories
并获取{ {1}}(这是部分ID),转到section
以获取正确的部分名称。所有这些都可以在1个sql语句中完成。
#__sections
或者,如果您知道breadcrumb项目中的URL。您可以解析它并获得IDS。这里的诀窍是不要通过$breadcrumbs =& JFactory::getApplication()->getPathway();
$breadcrumbs->addItem("SECTION_NAME", JRoute::_("index.php?option=com_content&view=section&id=SECTION_ID"));
$breadcrumbs->addItem("CATEGOY_NAME", JRoute::_("index.php?option=com_content&view=category&id=CATEGORY_ID"));
$breadcrumbs->addItem("Article");
获取默认的URI对象,因为事情会变得很难看,使用JFactory::getURI()
。
JFactory::getURI('YOU_URI_NAME')