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クエリはアクセスデータを考慮しません。少なくとも、表示されるべきではないコンテンツをロードしないように、starttimeとのチェックを含める必要があります。endtimeグローバルに使用される拡張機能を作成している場合は、FEユーザーのアクセス権も考慮されるように、コンテンツを別の方法でロードする必要があります。

于 2012-10-30T11:54:32.607 に答える