0

我们为 TYPO3 创建了一个扩展,但我们希望在列中显示不同的结果(左右正常等)。

我们让它按页面 ID 过滤。但它们都显示了整个页面的结果,而不仅仅是它正在加载的列。

如何通过 colPos 过滤结果(在 tt_content 中找到)。

<?php
$pri = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows('tx_extendttcontent_pid_banner','tt_content','pid = "'.$activePage.'" AND deleted = 0 AND hidden = 0');
?>

我们通过 $GLOBAL['TSFE']->id 获得 activePage;

4

1 回答 1

0

这有点复杂,因为它取决于您的扩展程序的结构。但是,在扩展类的扩展的主类中tslib_pibase,您应该在$this->cObj->data数组中拥有可用的插件数据。因此,这样的事情应该有效:

<?php
    $colPos = $this->cObj->data['colPos'];
    $pri = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows('tx_extendttcontent_pid_banner','tt_content','pid = "'.$activePage.'" colPos='.$colPos.' AND deleted = 0 AND hidden = 0');
?>

注意:SQL 查询不考虑访问数据。至少你应该包括一个检查starttimeendtime这样你就不会加载不应该显示的内容。如果您正在编写将具有全局使用的扩展,您可能应该以不同的方式加载内容,以便甚至考虑 FE 用户访问权限。

于 2012-10-30T11:54:32.607 回答