如何在所有前端页面边栏错误列表中显示搜索框

时间:2018-03-19 13:05:07

标签: search typo3 tx-indexed-search

我们开发了一个typo3 v8.7.11的网站。我们想在侧边栏部分显示搜索框,为此我们安装了indexed_search扩展。乙

如何在所有前端页面边栏部分显示搜索框?

4 个答案:

答案 0 :(得分:1)

我的技巧是创建一个实际上包含插件的TypoScript对象,如下所示:

lib.headerSearch = USER
lib.headerSearch {
    userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
    extensionName = IndexedSearch
    pluginName = Pi2
    vendorName = TYPO3\CMS
    switchableControllerActions {
        Search {
            1 = form
            2 = search
        }
    }
    features {
        requireCHashArgumentForActionArguments = 0
    }
    view < plugin.tx_indexedsearch.view
    view.partialRootPaths.10 = Path/To/Partial/
    view.templateRootPaths.10 = Path/To/Template/

    settings =< plugin.tx_indexedsearch.settings
}

然后,在您的模板中像这样包含它

<f:cObject typoscriptObjectPath="lib.headerSearch" />

请注意,您应该在Path / To / Template / Search /中为此TS-Plugin创建一个新的“ Search.html”模板,以免干扰常规插件。另外,如果您在与搜索插件本身相同的页面上包含搜索位置,请小心。

答案 1 :(得分:0)

您有多种选择:

  1. 从正常内容的搜索插件中复制表单的HTML,并将其插入您的page-(html-)模板。

  2. 创建一个特殊的BE列,将search-plugin插入此列并渲染此列在所有页面中继承

  3. 在FE中显示一个特殊页面,您可以在其中插入search-plugin并在每个页面的渲染中包含此特殊CE(使用typoscript中的CONTENT对象来选择特殊的CE)

  4. 在typoscript中包含并配置插件。 (见ThomasLöffler的答案)

  5. 我更喜欢选项2,因为它最灵活,不需要任何特殊页面或内容ID,这些ID可能随时间而变化(选项3)。它也可以处理任何类型的CE 如果例如在更新后插件渲染发生变化,则选项1需要手动修复 每个插件或CE根本不可能继承选项4。如果您可以使用typoscript配置插件,那么这是一个很好的选择,因为您不需要任何记录(来自tt_content)

    选项2的

    temp.inheritedContent = CONTENT
    temp.inheritedContent {
        table = tt_content
        select.orderBy = sorting
        // -- use your own column id: --
        select.where = colPos = 100
        select.languageField = sys_language_uid
        slide = -1
    }
    

答案 2 :(得分:0)

最简单的方法是将给定的插件从indexed_search复制到您在模板中使用的变量。

当你例如使用FLUIDTEMPLATE:

page.10 = FLUIDTEMPLATE
page.10.variable.searchBox < plugin.tx_indexedsearch

之后,您可以通过在此处更改page.10.variable.searchBox可能的配置来指定单独的模板并进行其他修改:https://docs.typo3.org/typo3cms/extensions/indexed_search/8.7/Configuration/Index.html

答案 3 :(得分:0)

使用TYPO3扩展名,它可以是macina_searchbox新开发版本的副本(fork)

模板模块:在“包括扩展中的静态内容”下添加“ Macina Searchbox”。 使用此脚本或类似的TypoScript包含它,本示例中的“ 6”是搜索页面。改用您自己的页面ID。

常量:

lib.macina_searchbox {
   pidSearchpage = 6
}

设置:

10 = TEMPLATE
10.template = FILE
10.template.file = fileadmin/template/template.html
10.workOnSubpart = DOKUMENT
10.marks {
   SUCHE < lib.macina_searchbox
   LOGO = TEXT
   LOGO.value = <a href="/" title="Startseite"><img src="fileadmin/template/img/logo.png"></a>


 NAVI= HMENU
 NAVI {

然后,您可以在macina_searchbox / Resources / Private /下面的文件夹中编辑Fluid模板文件,以修改搜索框的输出。为了使搜索结果列表不会显示在页面上,此方法是必需的。相反,您必须在搜索页上插入索引搜索插件,此示例中id = 6。 SUCHE是网站主模板中的标记。使用您自己的标记。