0

如何以编程方式确定插件在页面上的位置?假设我在一个页面上有两个相同插件的实例,我需要确定它们的位置以显示略有不同的布局。可行吗?

谢谢!

4

2 回答 2

1

让您的扩展在 $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;
}
于 2011-12-06T22:26:33.577 回答
0

使用剖面框架

  • 编辑您放置插件的内容元素。
  • 前往外观
  • 在“缩进和框架”中选择“框架 1”

在前端,您将意识到修改后的插件容器现在有一个额外的 css 类,可用于不同的布局:

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

在此处阅读更多信息:Typo3 中内容元素的自定义框架

于 2011-11-19T13:54:48.527 回答