我想删除在core/modules/search/src/Controller\SearchController.php的第119行的搜索页面中添加的 Search results 字符串。
if (count($results)) {
$build['search_results_title'] = array(
'#markup' => '<h2>' . $this->t('Search results') . '</h2>',
);
}
我可以使用搜索表单上的preprocess_form函数和搜索结果上的preprocess_search_result来更改上面的搜索表单和结果列表。
是否有我遗漏的预处理函数,或者我可以使用自定义模板文件?
3条答案
按热度按时间q0qdq0h21#
你必须改变搜索模块定义的路线。为此:
1.在
mymodule.services.yml
文件中定义以下内容:1.在/mymodule/src/Routing/RouteSubscriber. php上创建一个扩展
RouteSubscriberBase
类的类,如下所示:1.最后,控制器本身位于/mymodule/src/Controller/MyModuleSearchController. php
ecfsfe2w2#
@hugronaphor的解决方案非常完美。我希望我的搜索结果标题是“搜索结果'(searchterm)'”,而不仅仅是“搜索结果”,@hugronaphor描述的步骤正是这样做的。
在我的视图函数中,我把它放在:
fdx2calv3#
您可以覆盖item-list--search-results.html.twig,并替换标题,如下所示:
把这个H3去掉。