私はP. Lobacherの "TYPO3 Extbase - Modern Extension Development"という本を読もうとしています。そこでは、私はsearchfieldの要点です。ここで私の編集者(PHPStorm)は、$検索が定義されていないことを私に伝えます。私のリストビューでシンプル・ブログ拡張機能のFE Searchfieldは機能しません
/**
* @param string $search
* @param int $limit
* @return array|\TYPO3\CMS\Extbase\Persistence\QueryResultInterface
*/
public function findSearchForm($search,$limit) {
$query = $this->createQuery();
$query->matching(
$query->like('title','%'.$search.'%')
);
$query->setOrderings(array('title' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING));
$limit = (int)$limit; if ($limit > 0) {
$query->setLimit($limit);
}
return $query->execute();
}
私はそのようなsearchform持っている:私はセットアップにそのようなクエリを試してみてください、私のリポジトリに
/**
* @internal param string $search
*/
public function listAction() {
if ($this->request->hasArgument('search')){
$search = $this->request->getArgument('search');
}
$limit = ($this->settings['blog']['max']) ?: NULL;
$this->view->assign('blogs', $this->blogRepository->findSearchForm($search,$limit));
$this->view->assign('search', $search);
}
:
を私はとlistActionを持っています
<f:form action="list" additionalAttributes="{role:'form'}"> <div class="form-inline">
<div class="form-group">
<f:form.textfield name="search" value="{search}" class="form-control" /> <f:form.submit value="Search!" class="btn-xs btn-primary" />
</div> </div>
</f:form>
私のlistActionのビューへの割り当てを変更した場合:
$this->view->assign('blogs', $this->blogRepository->findSearchForm('Testblog',$limit));
次に、彼は私に、その中に「Testblog」というタイトルの断片を持つブログを表示します。しかし、動的には動作しません。
私はあなたの助けのためのTYPO3のV8.5.1に
Thxをを使用しています。
こんにちはポール、あなたの答えのためのthx。私はNULLを0に変更しました。次に$ searchをデバッグしました。結果は '0'(1文字) assignMultiple() - Arrayとは、$ this-> view-> assign(array ( 'blogs'、$ this-> blogRepository-> findSearchForm($ search、$ limit))、( 'search'、$ search)))?それともあなたは何を意味しましたか? レンダリングされたHTMLは次のとおりです。<入力クラス=「フォーム・コントロール」タイプ=「テキスト」名前=「tx_cfsimpleblog_bloglisting [検索]」> 編集:私はすでにのため THXを「キャッシュされていない」ことで入れているあなた助けて。 – codeFragment