0

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

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

4

2 回答 2

0

如果您正在考虑为搜索结果创建模板覆盖,您将受到可用数据的限制。

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

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

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

要链接到类别博客页面,您可以catid结合使用JRoute来创建类别博客布局的 URL。像这样的东西可以工作(NB使用多行来提高可读性):

$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!内容,如联系人内容网络链接等。第三方扩展也可能提供搜索插件,例如。virtuemart

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

于 2012-05-02T06:08:52.153 回答
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>

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

于 2014-05-19T21:29:19.777 回答