0

是否可以以某种方式添加地址分配给 html 输出的 cetrain 组的子组?

在模板中我有###MAINGROUP######GROUPLIST###. 我不能使用主组,因为我需要的组并不总是主组。而对于 grouplist,我不能说哪个组是一个组的子组。

有人知道我该怎么做吗?

除此之外,我还需要 tt_address 表中自创字段的值。

编辑:

我像@lorenz 说的那样尝试。到目前为止我所拥有的:

ext_localconf.php:

<?php
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['tt_address']['extraItemMarkerHook'][] 
='EXT:txnextaddresssort/class.tx_next_address_sort_addmarkers.php:tx_next_address_sort_addmarkers';

class.tx_next_address_sort_addmarkers.php:

<?php
class tx_next_address_sort_addmarkers {
    function extraItemMarkerProcessor(&$markerArray, &$address, &$lConf, 
        &$pObj) { 

        $lcObj = t3lib_div::makeInstance('tslib_cObj'); 
        $lcObj->data = $address; 

        $markerArray['###SORTBEREICH###']   = 
        $lcObj->stdWrap($address['tx_nextaddresssort_sort_bereich'], 
        $lConf['tx_nextaddresssort_sort_bereich.']); 

    } 

}

扩展键:next_address_sort

我得到的只是一个空白屏幕,但 apache 日志中没有错误

4

1 回答 1

2

不,不可能这样做。

然而,您可以编写一个自定义扩展,将 extraItemMarkerProcessorhook 集成到 tt_address 中。在 ext_localconf.php 中,添加:

$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['tt_address']['extraItemMarkerHook'][]     ='EXT:myextension/class.tx_myextension_filename.php:tx_myextension_classname';

然后将文件 class.tx_myextension_filename.php 添加到您的扩展程序中:

class tx_myextension_classname {

    public function extraItemMarkerProcessor(&$markerArray, &$address, &$lConf, &$pObj) {

      $lcObj = t3lib_div::makeInstance('tslib_cObj');
      $lcObj->data = $address;

      $markerArray['###MYFIELD###'] = $lcObj->stdWrap($address['myfieldlikeindatabase'], $lConf['myfieldlikeindatabase.']);

      return $markerArray;

    }

}

这将是获取 tt_address 表中的字段并将其添加到标记以便可以在模板中使用的示例。它也启用了 stdWrap。

现在,您应该将 $address['myfieldlikeindatabase'] 替换为包含所需信息的变量,而不是获取字段。要接收数据,您可以使用 TYPO3 数据库 API 函数 ($GLOBALS['TYPO3_DB'])。

于 2013-10-25T08:50:26.380 回答