Расширение typo3 два раза на странице, разные настройки? - PullRequest
2 голосов
/ 16 февраля 2012

Я написал расширение Typo3, которое я хочу поместить 2 раза на одну и ту же страницу Typo3 (фактически, в двух частях, определенных с помощью шаблона templavoila), но для двух экземпляров требуются разные настройки!
Когда я добавляю содержимое встраница через модуль «Страница», я могу добавить столько экземпляров моего расширения, сколько я хочу.Но в модуле «Шаблон» на странице есть только 1 конфигурация.

Так что мой вопрос: каков наилучший способ иметь разные настройки Typoscript для разных экземпляров одного плагина на одной странице?

Спасибо за любые подсказки!

Ответы [ 3 ]

3 голосов
/ 17 февраля 2012

Если параметр конфигурации недоступен как flexform, или есть другие причины, по которым необходимо изменить параметры с помощью TypoScript, вы можете сделать это следующим образом:

temp.tx_yourextension < plugin.tx_yourextension
plugin.tx_yourextension >
plugin.tx_yourextension = CASE
plugin.tx_yourextension {

  # check for the uid of the content element (the plugin)
  key.field = uid

  # if nothing special is defined
  default < temp.tx_yourextension

  # the plugin with the uid 1234 needs different configuration
  1234 < temp.tx_yourextension
  1234 {
    property = whatever
  }
}

Вместо запроса uid вы можете проверить наличие section_frame или любого другого поля.

Но имейте в виду, что некоторые расширения напрямую обращаются к TypoScript через $GLOBALS['TSFE']->tmpl->setup['plugin.']['tx_yourextension.']['property'], что помешает этой опции.

Вы можете сделать то же самое на tt_content.list. *

# without tx_ prefix
temp.yourextension < tt_content.list.20.yourextension
tt_content.list.20.yourextension >
tt_content.list.20.yourextension = CASE
...
1 голос
/ 16 февраля 2012

Зачем использовать конфигурацию шаблона? Вы можете определить некоторые конфигурации для самого плагина внешнего интерфейса (с помощью flexforms), чтобы каждый экземпляр можно было настроить.

1 голос
/ 16 февраля 2012

Вы можете использовать flexform для различных настроек. Каждая гибкая форма хранится в отдельном поле базы данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...