Добавление ссылок на категорию статей в результатах поиска Joomla
В Joomla 2.5 я ищу способ добавить больше функций, связанных со статьями, в результаты поиска, изменив шаблоны com_search. В этом случае мне интересно, как включить ссылку на категорию результата? Страница default_results.php содержит категорию / раздел для каждой возвращаемой статьи, но не содержит ссылки на эту категорию. На него может ссылаться оператор стрелки?
Кроме того, как насчет других функций статьи, таких как рейтинг и автор? Могут ли они быть включены в результаты поиска?
2 ответа
В 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>
(Однако я не уверен, что это оптимальное решение.)
Если вы смотрите на создание переопределения шаблона для результатов поиска, вы будете ограничены доступными данными.
Глядя на результаты поиска 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