Typo3 类型3插件';s位置

Typo3 类型3插件';s位置,typo3,typo3-tca,Typo3,Typo3 Tca,如何通过编程确定插件在页面上的位置?假设我在一个页面上有两个相同插件的实例,我需要确定它们的位置以显示稍微不同的布局。可行吗 谢谢 使用剖面框: 编辑放置插件的内容元素 出场 在“缩进和帧”处选择“帧1” 在前端,您将认识到修改后的插件容器现在有一个额外的css类,可用于不同的布局: <div class="csc-frame csc-frame-frame1" id="c123"> 请在此处阅读更多信息:让您的扩展在$TSFE中存储一个计数器变量。 这些变量将在不同的插件

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


谢谢

使用剖面框

  • 编辑放置插件的内容元素
  • 出场
  • 在“缩进和帧”处选择“帧1”
在前端,您将认识到修改后的插件容器现在有一个额外的css类,可用于不同的布局:

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


请在此处阅读更多信息:

让您的扩展在$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;
}

你说的“位置”是什么意思?客户端浏览器窗口中的X,Y坐标?或者HTML代码中的出现顺序(哪个插件实例是第一个/第二个)?第二个选项。抱歉说得不准确。