在joomla搜索结果中添加指向文章类别的链接

时间:2012-05-02 05:21:19

标签: search joomla hyperlink categories

在Joomla 2.5中,我正在寻找一种方法,通过修改com_search模板,为搜索结果添加更多与文章相关的功能。在这种情况下,我想知道如何包含结果类别的链接? default_results.php页面包含每个返回文章的类别/部分,但没有指向该类别的链接。它可以被箭头操作符引用吗?

此外,其他文章功能如评级和作者呢?这些也可以包含在搜索结果中吗?

2 个答案:

答案 0 :(得分:0)

如果您正在考虑为搜索结果创建模板覆盖,则仅限于可用数据。

查看搜索结果view.html.php,结果数组包含具有以下属性的对象列表(在Eclipse中观察到

stdObj:
- title
- text
- created
- browsernav
- catid
- slug
- href
- section
- count

正如您所看到的,tmpl无法使用评级和作者,因此您必须修改搜索组件以获取此附加信息,或使用可用信息加载content模型并自行提取。

要链接到类别博客页面,您可以将catidJRoute结合使用,以创建类别博客布局的URL。这样的事情可以起作用( N.B。使用多行来提高可读性):

$catURL = 'index.php?option=com_content&view=category&layout=blog&id=';
$catURL .= $result->catid;
$catURL = JRoute::_($catURL);

然后你需要做的就是在URL中包含包含类别(部分)的行,例如..

( <a href="<?php echo $catURL; ?>" ><?php echo $this->escape($result->section); ?></a> )

请注意还没试过这个代码只是在这里输入...

<强> [编辑]

com_search(提供Joomla!搜索功能)使用搜索插件来收集结果,使用插件以便不同类型的内容可以提供结果......

所以,在Joomla! 2.5行表示默认加载/plugins/search/的子文件夹,包括标准的Joomla!内容如联系人内容 weblink 等。第三方扩展程序也可能提供搜索插件,例如。 virtuemart

要找出特定插件返回的内容,您需要查看相关文件,例如:内容/plugins/search/content/content.php

答案 1 :(得分:0)

在Joomla 3.3.0中,我设法以这种方式在搜索结果中显示链接的类别名称:

<?php
$url = $result->catslug;
$url = str_replace(':', '', $url);
$url = ltrim($url, '0123456789');
?>
<a href="<?php echo $url; ?>" ><?php echo $this->escape($result->section); ?></a>

(但我不确定它是否是最佳解决方案。)