1

私はTYPO3とFluidに不慣れで、次のようなFluidテンプレートを使用してページコンテンツを表示しようとしています:

<div id="content">
   <f:format.html>{content}</f:format.html>
</div>

ページデータは、2列のレイアウト(colPos=0, colPos=1)を使用してバックエンドを介して入力されます。

colPos=0現在、div内の最初の列()の内容を表示しようとしています。
現時点では、私のTYPOスクリプトは次のようになっています。

page = PAGE
page {
   # ...

   5 = FLUIDTEMPLATE
   5 {
        file = fileadmin/templates/default.html

        # ...

        variables {
           pageTitle = TEXT
           pageTitle.data = page:title    

           content = CONTENT
           content {
              table = tt_content
              select {
                 where=colPos=0
              }
              renderObj = COA
              renderObj {
                 10 = TEXT
                 10.field = bodytext
              }
           }
      }
}

このように機能しますが、5.variables.contentが複雑すぎるという感覚を取り除くことはできません。

代わりにを使用するいくつかのソリューションを見ましcontent < styles.content.getたが、これを使用すると、結果のdivが空になります。

私がしていることを達成するためのよりエレガントな方法(つまり、この文脈ではより短い方法)はありますか?

4

4 に答える 4

2

On your question which approach is more elegant (I don't use fluid, but I think it's general Typoscript):

If you want to use css_styled_content, but with more flexibility and transparence than the shortcuts "get", "getLeft" etc., use this:

content < styles.content.get
content.select.where = colPos = 0

No need to specify content = CONTENT in that case.

In the way you wrote it above, you would probably need to add:

10.parseFunc = < lib.parseFunc_RTE

to your renderObj, as else, automatically linked e-Mail addresses etc. won't be rendered in the content.

If you want full control over the markup, your original approach using the CONTENT object is superior to css_styled_content. But you will have to cover each field the editors are supposed to use.

I always use this article: http://www.typo3wizard.com/en/articles/explaining-the-content-object.html

With css_styled_content on the other hand, you get parsing for all fields for free - but also you get all the markup it will write for you.

It might be helpful to look at csc's static template in /typo3/sysext/css_styled_content/static/setup.txt to see what it does.

于 2013-02-26T19:20:33.407 に答える
0

page.5.variables.content <styles.content.get

もちろん、CSSスタイルのコンテンツ拡張機能をインストールし(デフォルト)、静的テンプレート「CSSスタイルのコンテンツ」をTypoScriptテンプレートに含める必要があります(タブ:含む)。

于 2013-03-05T17:09:55.580 に答える
0

i dont use fluid, just plain TS for my projects, but i hope ill help.

In backend the cols are like this if u have not "touched" em:

| col1(Left) | col0(Normal) | col2(Right) | col3(Border) |

What i do is this for "normal" layout:

page.10 = TEMPLATE
page.10 {
  subparts{
    LEFT-CONTENT < styles.content.getLeft
    CONTENT < styles.content.get
    RIGHT-CONTENT < styles.content.getRight
  }
  marks {
    DESCRIPTION < styles.content.getBorder
  }

If u need something more u can use something like this to generate some content that is not on that page and can use it to display it on all pages.

subparts{
LEFT-CONTENT < styles.content.getLeft
LEFT-CONTENT {
  select.pidInList = 50
  select.where = colPos=0
  select.orderBy = sorting
  wrap = <div class="col100">|</div>
}
于 2013-03-01T09:09:37.663 に答える
0

Alternative solution: https://fluidtypo3.org/viewhelpers/vhs/development/Content/RenderViewHelper.html (along with get and random get/render counterparts).

于 2016-09-03T00:39:00.123 に答える