1

「メディア」フィールドに多くの画像を保存し、「イメージキャプション」フィールドにできるだけ多くのキャプションを挿入するプラグインを作成しました。

今、私の願いは次のように表示することです:

image1.png
caption 1
image2.png
caption 2
image3.png
caption 3

これは私がそれをやろうとしている方法ですが、うまくいきません:

plugin.tx_myplugin_pi1 = COA
plugin.tx_myplugin_pi1{
    10 = TEXT
    10.field = header
    10.wrap = <h1>|</h1>

    20 = COA
    20{
        10 = TEXT
        10{
            field = media
            split{
                token = ,
                cObjNum = 1
                1.current = 1
            }
        }

        20 = TEXT
        20{
            field = imagecaption
            split{
                token.char = 10
                cObjNum = 1
                1.current = 1
            }
        }
    }
}

しかし、最初にすべてのファイル名が表示され、次にキャプションが表示されるため、実際には機能していません。

どうすればできますか?

4

3 に答える 3

4

Split はすべての要素を返す関数です。20.10 内では、改行 fe で分割されたフィールド イメージのコンテンツを取得し、その後、イメージキャプションを持つ 20.20 のコンテンツを取得します。

あなたがする必要があること(未テスト):

    10 = TEXT
    10{
        field = media
        split{
            token = ,
            cObjNum = 1
            1.current = 1
            # for each image, add the imagecaption
            1.append = TEXT
            1.append {
               field = imagecaption
               # split saves the index in REGISTER:SPLIT_COUNT
               listNum.stdWrap.data = REGISTER:SPLIT_COUNT
               listNum.splitChar = 10
            }
        }
    }
于 2012-03-14T12:50:20.397 に答える
2

token = \n が正しいとは思えません。適切に .char = 10 を使用する必要があります。また、現在のソリューションはフィールドを 1 つずつ処理するため、TS を何らかの方法でネストする必要があります。

于 2012-03-13T08:20:54.107 に答える
0

今は思い出せませんが、写真とキャプションにフレームを追加する拡張機能を書きました。キャプションで問題を解決できます: http://typo3.org/extensions/repository/view/ch_imgtext_renderengine/current/

于 2012-03-12T16:57:27.710 に答える