Typo3 类型3如何将自己的数据(数据字段)添加到tt_地址?

Typo3 类型3如何将自己的数据(数据字段)添加到tt_地址?,typo3,kickstarter,Typo3,Kickstarter,我使用的是TYPO3 v 6.2和扩展tt_地址。 我需要在tt_地址表中输入更多(数据)字段 我读过,我可以通过kickstarter添加更多的db字段。 所以我安装了TYPO3 4.5并安装了kickstarter 添加新扩展名“ttaddressaddfields”。在“扩展现有表”中添加“tt_地址”-DB表。添加新的数据字段类型字符串“email1”。查看结果->写入->安装分机,瞧! 一切正常。。我的tt_地址表中有一个新字段,名为“email1”。 在数据库中,email1字段是用

我使用的是TYPO3 v 6.2和扩展tt_地址。 我需要在tt_地址表中输入更多(数据)字段

我读过,我可以通过kickstarter添加更多的db字段。 所以我安装了TYPO3 4.5并安装了kickstarter

添加新扩展名“ttaddressaddfields”。在“扩展现有表”中添加“tt_地址”-DB表。添加新的数据字段类型字符串“email1”。查看结果->写入->安装分机,瞧! 一切正常。。我的tt_地址表中有一个新字段,名为“email1”。 在数据库中,email1字段是用我的内容编写的

但是!如何在前端显示我的结果?我必须编辑tt_address-Setup.ts吗

我在自己的扩展名ext_localconf.php中添加了这个

<?php
if (!defined ('TYPO3_MODE')) die ('Access denied.');
    $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['tt_address']['extendingTCA'][] = 'ttaddressaddnew';
?>

在我的HTML模板中(从tt_地址)

电话###
Extrafeld:####电子邮件1###
无论如何。。它不起作用!我的错在哪里?我不知道;)

我认为您最好编写自己的扩展并使用tt_address db字段。
我每次都这样做,因为当我需要进一步扩展它时,在我自己的扩展中没有问题。

您需要为tt\U地址的额外itemmarker数组编写自己的钩子

举个例子,但为了让每个人都开心,这里包括以下重要部分:

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';
<?php
if (!defined ('TYPO3_MODE')) die ('Access denied.');

$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['tt_address']['extraItemMarkerHook'][] = 'EXT:tt_address_extended/class.tx_ttaddressextended_filename.php:tx_ttaddressextended_classname';

?>

应该有一种特殊的语法来命名自定义字段的标记

看看这条旧线:

其中用户成功地使用了

#######LINK#TX#TTADDRESSEXT#u INTLINK#

所以你可以试试

####EMAIL1_TX_ttAddressText_FIELDTYPE##


不知道为什么字段类型和放在那里的内容

谢谢大家!我做到了

创建后

在我的tt_地址模板中

###PHONE###
<br>Extrafeld :&nbsp;    ###EMAIL1###
###EMAIL1###
我在tt_地址表中的额外字段被调用

tx_ttaddressextended_email1
在我的新扩展名typo3conf/ext/tt\u address\u extended中添加一个新的类文件(class.tx\u ttaddress\u filename.php)/

<?php
class tx_ttaddressextended_classname {

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

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

      $markerArray['###EMAIL1###'] = $lcObj->stdWrap($address['tx_ttaddressextended_email1'], $lConf['tx_ttaddressextended_email1']);

      return $markerArray;

    }

}
?>

以及新文件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';
<?php
if (!defined ('TYPO3_MODE')) die ('Access denied.');

$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['tt_address']['extraItemMarkerHook'][] = 'EXT:tt_address_extended/class.tx_ttaddressextended_filename.php:tx_ttaddressextended_classname';

?>


我不是PHP专业人士,因此在编写自己的扩展时遇到了问题。我找到了一些教程来扩展流行的TYPO3扩展,但它不起作用。。?!UH但是写一个typo3扩展并不难。。。。尝试它,学习它,成为一个更好的打字3。虽然这个链接可以回答问题,但最好在这里包含答案的基本部分,并提供链接供参考。如果链接页面发生变化,只有链接的答案可能会变得无效。@krumia,我不知道仅仅链接到另一个答案来帮助别人是不好的。所以,我的答案中包含了代码。