2016-03-19 4 views
0

TYPO3 7.6では、Fluidtemplateの別の(= any)ページからレコードを検索したいと思います。PIDを持たないFluid DatabaseQueryProcessorでレコードを検索する

https://docs.typo3.org/typo3cms/TyposcriptReference/ContentObjects/Fluidtemplate/Index.htmlに基づいて、私はDatabaseQueryProcessorを試してみました:

renderObj = FLUIDTEMPLATE 
    renderObj { 
    file = {$fluidPartialsPath}/Debug.html 
    dataProcessing { 
     20 = TYPO3\CMS\Frontend\DataProcessing\DatabaseQueryProcessor 
     20{ 
     # regular if syntax 
     if.isTrue.field = records 

     table = tt_content 
     # quick&dirty to see the SQL table 
     # where = stubrdebug 

     # will pass these in programmatically later 
     colPos = 1 
     uidInList = 5 
     # this doesn't work 
     pidInList = * 

     as = myrecords 

     dataProcessing { 
      10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor 
      10 { 
      references.fieldName = image 
      } 
     } 
     } 

    } 
    } 

問題は、選択は常にPIDを要求するか、現在のページのいずれかを追加することです。したがって、CONTENTオブジェクトのように動作します。

クエリでPIDを削除するにはどうすればよいですか?

私がgoogleで指摘できるのは、単にRECORDSを使用していますが、私はそれをどのように行うことができるかわかりません。dataProcessing。 方法はありますか?

PS:より大きなスケールで:fluid_styled_contentの "Insert Records"コンテンツエレメントを使用して、現在のページにカスタムレコードタイプを追加することをお勧めします。私はそれを行うための独自の方法を構築しようとしています。それが理にかなっていないか、あるいは最初からすべてを構築するより簡単な方法があるかどうかを教えてください。

答えて

1

私が言うことができる限り、dataProcessingは、以前に入力する必要がある現在の$data変数でのみ機能します。 CONTENTオブジェクト。

CONTENTオブジェクトはselect関数を使用してデータを取得します。そのため、考慮するページの範囲を構成するには、pidInListプロパティを使用する必要があります。ページのないレコードはroot (pid=0)に存在し、rootキーワードで選択できます。

Insert Records機能を作成する場合は、既にレコードのリストがuidである必要があります。次に、RECORDSオブジェクトを使用して、特定のレコードをレンダリングすることができます。

+0

私は理解しています:間違ったツールを使用していました。私は今どのようにビルドしなければならないかを見て、 – Urs

+0

を手に入れたら自分が持っているものを投稿し、何を得ているのでしょうか? ;-) 興味がある.. – Falk

関連する問題