我想在每个页面上创建tx_news搜索表单。所以我试着把它放到布局中:
<div class="news-search-form">
<f:form object="{search}" name="search" pageUid="{settings.searchPid}">
<fieldset>
<f:form.textfield id="news-subject" property="subject" class="form-control"/>
<f:form.submit class="btn btn-default search-button"/>
</fieldset>
</f:form>
</div>
问题是,当网站上没有搜索插件时,{search}
未定义。
当有一个searchplugin {search}
看起来像这样:
Tx_News_Domain_Model_Dto_Search (prototype transient entity)
subject => NULL
fields => NULL
uid => NULL
_localizedUid => NULL
_languageUid => NULL
pid => NULL
我能以某种方式直接在布局中创建这个,或者在每个页面上使用searchform的最佳方法是什么?
答案 0 :(得分:1)
您可以使用直接TS轻松
lib.blogsearch = USER
lib.blogsearch{
userFunc = tx_extbase_core_bootstrap->run
extensionName = News
pluginName = Pi1
switchableControllerActions {
News {
1 = searchform
}
}
settings < plugin.tx_news.settings
settings {
listPid = #you_id
}
}
答案 1 :(得分:0)
您是否曾尝试通过typoscript将搜索表单作为记录插入?
要做到这一点,你应该创建配置为在pagetree中某处搜索表单的新闻插件,并通过ts引用它:
lib.searchform = RECORDS
lib.searchform {
wrap = (whatever)|
tables = tt_content
source = {id of the searchform CE}
}
这应该可以解决问题。