将 TypoScript 对象插入 HMENU
Insert TypoScript Object into HMENU
TYPO3 v 7.6.13
Indexed_search7.6.0
我正在使用 TYPOScript 生成一个典型的下拉菜单。
我在末尾附加了一个列表项,其中包含搜索框的下拉菜单。
我正在使用 indexed_search 并且我有一个名为 lib.search 的单独 Typoscript 对象设置。
在生成下拉菜单的拼写错误中,如何引用/插入 lib.search 并将其插入到下拉菜单中。
这是我的搜索TS,
lib.mainNavi = HMENU
lib.mainNavi.wrap (
<div class="navbar navbar_custom" role="navigation" aria-label="Main Navigation">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">My Site</a>
</div>
<div class="collapse navbar-collapse" id="navbar-collapse">
<ul class="nav navbar-nav">|<li class="dropdown"><a href="#" class="dropdown-toggle glyphicons glyphicons-search" data-toggle="dropdown"></a><ul class="dropdown-menu col-md-12 col-xs-12 dropdown_grd"><li>
<input type="text" class="searchText" placeholder="Search for..."/>
<input type="button" class="searchButton" id="navSearchButton"/>
**search TSO goes here{lib.searchheader}**
</li></ul></li></ul>
</div><!-- /.navbar-collapse -->
</div>
)
这是生成我的搜索框的 TS。
lib.searchheader = COA_INT
lib.searchheader {
10 = TEXT
10.typolink.parameter = {$plugin.tx_indexedsearch.searchUID}
10.typolink.returnLast = url
10.wrap = <ul><li>|</li></ul>
}
当我引用 lib.search 时,我只在页面呈现时得到文本:
{lib.searchheader}
如果你想在一个特殊的位置插入另一个 TS 对象,让你的 TS 在那里插入一些东西。
要么使用包装纸,要么使用 COA。
在你的例子中,包装太大了,你不能包装两个不同的内容。所以我的尝试是在 COA 中拆分包装:
lib.mainNavi = COA
lib.mainNavi {
wrap = <div class="navbar navbar_custom" role="navigation" aria-label="Main Navigation"> | </div>
// intro
10 = TEXT
10.value (
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">My Site</a>
</div>
)
//outer-wrap of menu
20 = COA
20 {
wrap (
<div class="collapse navbar-collapse" id="navbar-collapse">
<ul class="nav navbar-nav">
|
</ul>
</div><!-- /.navbar-collapse -->
)
// the real menu
10 = HMENU
10 {
:
}
// additional search entry:
20 = COA
20 {
wrap (
<li class="dropdown">
<a href="#" class="dropdown-toggle glyphicons glyphicons-search" data-toggle="dropdown"></a>
<ul class="dropdown-menu col-md-12 col-xs-12 dropdown_grd">
<li>
<input type="text" class="searchText" placeholder="Search for..."/>
<input type="button" class="searchButton" id="navSearchButton"/>
|
</li>
</ul>
</li>
)
10 < lib.searchheader
}
}
}
小心混合 USER 和 USER_INT 对象。 (永远不要在 USER_INT 内级联 USER_INT)
这些未缓存的对象存储有一个占位符,类似于具有哈希名称的流体变量。他们将在 运行 时间成为 evaluted/resolved。
您确定您的 lib.searchheader
需要 COA_INT 吗?
TYPO3 v 7.6.13 Indexed_search7.6.0
我正在使用 TYPOScript 生成一个典型的下拉菜单。
我在末尾附加了一个列表项,其中包含搜索框的下拉菜单。
我正在使用 indexed_search 并且我有一个名为 lib.search 的单独 Typoscript 对象设置。
在生成下拉菜单的拼写错误中,如何引用/插入 lib.search 并将其插入到下拉菜单中。
这是我的搜索TS,
lib.mainNavi = HMENU
lib.mainNavi.wrap (
<div class="navbar navbar_custom" role="navigation" aria-label="Main Navigation">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">My Site</a>
</div>
<div class="collapse navbar-collapse" id="navbar-collapse">
<ul class="nav navbar-nav">|<li class="dropdown"><a href="#" class="dropdown-toggle glyphicons glyphicons-search" data-toggle="dropdown"></a><ul class="dropdown-menu col-md-12 col-xs-12 dropdown_grd"><li>
<input type="text" class="searchText" placeholder="Search for..."/>
<input type="button" class="searchButton" id="navSearchButton"/>
**search TSO goes here{lib.searchheader}**
</li></ul></li></ul>
</div><!-- /.navbar-collapse -->
</div>
)
这是生成我的搜索框的 TS。
lib.searchheader = COA_INT
lib.searchheader {
10 = TEXT
10.typolink.parameter = {$plugin.tx_indexedsearch.searchUID}
10.typolink.returnLast = url
10.wrap = <ul><li>|</li></ul>
}
当我引用 lib.search 时,我只在页面呈现时得到文本:
{lib.searchheader}
如果你想在一个特殊的位置插入另一个 TS 对象,让你的 TS 在那里插入一些东西。
要么使用包装纸,要么使用 COA。
在你的例子中,包装太大了,你不能包装两个不同的内容。所以我的尝试是在 COA 中拆分包装:
lib.mainNavi = COA
lib.mainNavi {
wrap = <div class="navbar navbar_custom" role="navigation" aria-label="Main Navigation"> | </div>
// intro
10 = TEXT
10.value (
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">My Site</a>
</div>
)
//outer-wrap of menu
20 = COA
20 {
wrap (
<div class="collapse navbar-collapse" id="navbar-collapse">
<ul class="nav navbar-nav">
|
</ul>
</div><!-- /.navbar-collapse -->
)
// the real menu
10 = HMENU
10 {
:
}
// additional search entry:
20 = COA
20 {
wrap (
<li class="dropdown">
<a href="#" class="dropdown-toggle glyphicons glyphicons-search" data-toggle="dropdown"></a>
<ul class="dropdown-menu col-md-12 col-xs-12 dropdown_grd">
<li>
<input type="text" class="searchText" placeholder="Search for..."/>
<input type="button" class="searchButton" id="navSearchButton"/>
|
</li>
</ul>
</li>
)
10 < lib.searchheader
}
}
}
小心混合 USER 和 USER_INT 对象。 (永远不要在 USER_INT 内级联 USER_INT)
这些未缓存的对象存储有一个占位符,类似于具有哈希名称的流体变量。他们将在 运行 时间成为 evaluted/resolved。
您确定您的 lib.searchheader
需要 COA_INT 吗?