2013-07-27 2 views
0

Я читаю расширение TYPO3.
Это файл шаблона:Проблема с расширением 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, когда поместить содержимое в файл шаблона, кажется, есть два способа:

а. для ###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?

ответ

3

Вы просите разницу между двумя основными инструментами шаблонных в TYPO3:

  1. Маркеры (###MORE###) и
  2. подразделов (<!-- ###LOOP### -->)

Оба заполнители, чтобы быть заменяется динамическим контентом.

A marker представляет собой исключительное происхождение. Строка ###MORE### будет заменена функцией substituteMarker() или substituteMarkerArray() с любым значением, которое вы определяете в своем php-коде.

A подразделение всегда встречается парами; он имеет начальный и конечный маркеры. Они охватывают диапазон кода, в пределах которого могут быть заменены другие значения. В вашем случае все между двумя строками <!-- ###LOOP### -->, которые вы найдете в шаблоне, может обрабатываться функцией substituteSubpart(). Обычно это используется для просмотра списка, когда вы выполняете несколько запросов из своего запроса. Внутри каждого элемента подчасти вы можете заменить маркеры или подчасти рекурсивно в вашем php-коде.

This blog post может дать вам более глубокое понимание принципов.

Смежные вопросы