2

TYPO3 wikiで言及されているように、TypoScriptでクエリを作成できます:

page.60 = CONTENT
page.60 {
   table = tt_content
   select {
       pidInList = 73
       where = header != ###whatever###
       orderBy = ###sortfield###
       markers {
         whatever.data = GP:first
         sortfield.value = sor
         sortfield.wrap = |ting
       }
   }
}

私にとって不便なのは、パラメータpidInListです。使用しなかった場合でも、スクリプトはクエリで現在のページIDをpidに置き換えます。たとえば、このような単純なクエリを実現するために、より単純にする方法はありますか?

select title from pages where uid=100;

最も単純なTypoScriptに相当するものは何ですか?

4

2 に答える 2

4

私の知る限りでpidInListは必要です。回避策は、これを「0」に設定してrecursive属性を使用することです。

page.60 = CONTENT
page.60 {
   table = tt_content
   select {
       pidInList = 0
       recursive = 99
       where = header != ###whatever###
       orderBy = ###sortfield###
       markers {
         whatever.data = GP:first
         sortfield.value = sor
         sortfield.wrap = |ting
       }
   }
}

:パフォーマンスへの影響が心配で、純粋にUIDだけでレコードを選択している場合は、RECORDS代わりにオブジェクトの使用を検討してください。

于 2012-05-09T15:36:16.620 に答える
1

あなたの例のために:

SELECT title FROM pages WHERE uid=100;

最も単純なTypoScriptの同等物は次のとおりです。

page.60 = RECORDS
page.60 {
    tables = pages
    source = 100
    dontCheckPid  = 1
    conf.pages = TEXT
    conf.pages.field = title
    }

sourceパラメータは必須であることに注意してください。より柔軟なクエリについては、簡単なuserFuncを作成することをお勧めします。

于 2012-05-09T21:43:00.723 に答える