3

2 つのフォールバックを使用して、レンダリングされた HTML に文字列を出力したいと考えています。

私のタイポスクリプトはトップ レベル ページ (私の Web サイトのルート ページ) で定義され、下位レベルのすべてのページに渡されます。

構造:

  • ホームページ
    • レベル 1 のページ
      • レベル 2 のページ

ファイルの通常の出力:

文字列は TemplaVoila フィールド (ページ / 編集 / 拡張 / マイフィールド) から取得されます: field_copyright_name

HTML 出力の目的のポイントに出力するために、lib.copyright_name という名前の templaVoila マッピング (タイプ: Typoscript オブジェクト パス) が存在します

次のタイポスクリプトがその役割を果たします。

lib.hint_copyright_name = COA
lib.hint_copyright_name.10 = TEXT
lib.hint_copyright_name.10 {
    setCurrent.dataWrap = {field:field_copyright_name}
    current = 1
}

これは、(ページ プロパティの) フィールドが空でないすべてのレベルのすべてのページで機能します。

最初のフォールバック:

フィールドが空の場合 (そのページのプロパティで、たとえばレベル 2 で)、typscript は上のページから値を取得する必要があります (レベル 1 で、それも空の場合はホームページから取得する必要があります)。それを行う方法の手がかりはありません。手伝ってくれますか?

2 番目のフォールバック

最初のフォールバックでも空の文字列が返される場合 (フィールドがすべてのレベルで空だったため)、デフォルト値の "Copyright by me" にフォールバックする必要があります。

「最初のフォールバック」なしでこのフォールバックを有効にするのは簡単です:

switchdefault_copyright_name = TEXT
switchdefault_copyright_name {
    setCurrent.dataWrap = {field:field_copyright_name}
    current = 1
    override = "Copyright by me"
    override.if.isFalse.field = field_copyright_name
}


lib.hint_copyright_name = COA
lib.hint_copyright_name.10 < switchdefault_copyright_name

しかし、「最初のフォールバック」を統合する方法は?

編集:

私は試した:

setCurrent.data = {levelfield:-1, field_copyright_name, slide}

また

setCurrent.data = levelfield:-1, field_copyright_name, slide

また

setCurrent.dataWrap = {levelfield:-1, field_copyright_name, slide}

また

setCurrent.dataWrap = levelfield:-1, field_copyright_name, slide

しかし、成功しませんでした - 出力はありません。

4

1 に答える 1

2

ちょうどこれを見つけました:http://lists.typo3.org/pipermail/typo3-english/2006-October/032764.html

それはあなたのスライドを機能させることになっています。設定するだけ:インストール>すべての構成> addRootLineFields

試していませんが、解決策のようです

于 2011-05-25T01:01:12.737 に答える