tt_address:为模板添加地址类别

时间:2013-10-24 15:06:00

标签: templates typo3 typo3-4.5

是否有可能添加cetrain组的子组,地址被分配给html输出?

在模板中,我有###MAINGROUP######GROUPLIST###。我不能使用maingroup,因为不是我需要的组永远是maingroup的情况。对于群组列表,我不能说哪个群组是一个群组的子群。

任何人都知道我该怎么办?

除此之外,我还需要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.']); 

    } 

}

Extentionkey:next_address_sort

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

1 个答案:

答案 0 :(得分:2)

不,没有可能这样做。

然而,你可以编写一个自定义扩展,在tt_address中集成extraItemMarkerProcessorhook。在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'])。