0

TYPO3 エクステンションを読んでいます。
これはテンプレート ファイルです。

<!-- ###LIST_LATEST### begin -->
<div class="latest-wrapper">
    <ul class="listing latest">
        <li><h1>###LIST_HEADER###</h1></li>
        <!-- ###LOOP### --><!-- ###ITEM### --><li>
            <span class="category">###CATEGORY###</span><span class="company">###COMPANY_NAME###</span><span class="location">###LOCATION###, ###STATE### ###ZIP###</span>
        </li><!-- ###ITEM### --><!-- ###LOOP### -->
        <li class="more">###MORE###</li>
    </ul>
</div>
<!-- ###LIST_LATEST### end -->

class.tx_jcjob_pi1.php、内容をテンプレートファイルに入れる場合、次の2つの方法があるようです。

を。の場合###MORE###、次の方法を使用します。

$markerArray['###MORE###'] = $this->cObj->getTypoLink($this->pi_getLL('text_link_more'), $this->conf['searchID'], array('tx_ajaxsearch_pi1[keyword]' => ''));
$content = $this->cObj->substituteMarkerArray($template, $markerArray);

b. の場合<!-- ###LOOP### -->、次の方法を使用します。

$template = $this->cObj->substituteSubpart($template, '###LOOP###', $loopContent);  var_dump($template);

だから私の質問は:

  1. ###MORE###と はどう違い<!-- ###LOOP### -->ますか?

  2. substituteMarkerArrayとはどう違いsubstituteSubpartますか?

4

1 に答える 1

3

TYPO3 の 2 つの基本的なテンプレート ツールの違いを尋ねています。

  1. マーカー ( ###MORE###) と
  2. サブパーツ ( <!-- ###LOOP### -->)

どちらも動的コンテンツに置き換えるプレースホルダーです。

マーカーは、特異な出現を表します。文字列###MORE###は、関数substituteMarker()またはsubstituteMarkerArray()PHP コードで定義した値に置き換えられます。

サブパートは常にペアで発生します。開始マーカーと終了マーカーがあります。それらは、より多くの値を置き換えることができるコードの範囲を囲みます。<!-- ###LOOP### -->あなたの場合、テンプレートで見つけた 2 つの文字列の間のすべてをfunction で処理できますsubstituteSubpart()。通常、これは、クエリから複数の結果をループするときにリスト ビューに使用されます。各 subpart 要素内で、php コードでマーカーまたはサブパーツを再帰的に置き換えることができます。

このブログ投稿では、原則についてさらに理解を深めることができます。

于 2013-07-27T10:14:35.407 に答える