Позиция плагина TYPO3 - PullRequest
       12

Позиция плагина TYPO3

0 голосов
/ 19 ноября 2011

Как я могу программно определить положение плагина на странице?Предполагая, что у меня есть два экземпляра одного и того же плагина на странице, мне нужно определить их положение для отображения немного другого макета.Это возможно?

Спасибо!

Ответы [ 2 ]

1 голос
/ 07 декабря 2011

Пусть ваше расширение хранит переменную счетчика в $ TSFE.
Такие переменные будут существовать от экземпляра плагина к экземпляру плагина и могут использоваться для подсчета экземпляров, которые находятся на той же странице.
В зависимости от этого счетчика вы можете изменить выход вашего внутреннего номера.

Пример

В вашей функции main сделайте что-то вроде этого:

// init counter var in the very first plugin instance
if(!isset($GLOBALS['TSFE']->tmpl->setup['plugin.']['tx_'.$this->extKey.'_pi1.']['myCounter'])){
  $GLOBALS['TSFE']->tmpl->setup['plugin.']['tx_'.$this->extKey.'_pi1.']['myCounter'] = 0;
}
// increment counter var in each plugin instance 
// and execute code depending on the count
switch(++$GLOBALS['TSFE']->tmpl->setup['plugin.']['tx_'.$this->extKey.'_pi1.']['myCounter']){
  case 1:
    ...
    break;
  case 2:
    ...
    break;
  case 3:
    ...
    break;
}
0 голосов
/ 19 ноября 2011

Использование секционных рам :

  • Отредактируйте элемент контента, в который вы поместили свой плагин.
  • Перейти к оформлению
  • Выберите «Кадр 1» в «Отступы и рамки»

В интерфейсе вы поймете, что модифицированный контейнер плагинов теперь имеет дополнительный класс CSS, который можно использовать для разной компоновки:

<div class="csc-frame csc-frame-frame1" id="c123">

Подробнее об этом здесь: Пользовательские рамки для элементов содержимого в Typo3

...