如何以编程方式确定插件在页面上的位置?假设我在一个页面上有两个相同插件的实例,我需要确定它们的位置以显示略有不同的布局。可行吗?
谢谢!
让您的扩展在 $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;
}
使用剖面框架:
在前端,您将意识到修改后的插件容器现在有一个额外的 css 类,可用于不同的布局:
<div class="csc-frame csc-frame-frame1" id="c123">
在此处阅读更多信息:Typo3 中内容元素的自定义框架