2014-11-10 7 views
0

Я использую TYPO3 v 6.2 и расширение tt_address. Мне нужно больше (данных) полей в таблице tt_address.TYPO3 Как добавить собственные данные (поля данных) в tt_address?

Я читал, что я могу добавить больше db-полей через kickstarter. Итак, я установил TYPO3 4.5 и установил kickstarter.

Добавить новое расширение "ttaddressaddfields". Добавьте таблицу «tt_address» -DB в «Расширение существующих таблиц». Добавить новый тип поля данных String «email1». Просмотр результата -> Write -> Install ext. и вуаля! Все работает .. У меня есть новое поле в моей форме tt_address под названием «email1». В базе данных поле email1 было написано с моим контентом.

НО! Как я могу показать свой результат в Frontend? Нужно ли мне редактировать 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_address)

###PHONE### 
<br>Extrafeld :&nbsp; ###EMAIL1### 

Во всяком случае .. он не работает! Где моя вина? Я не знаю;)

ответ

0

Спасибо всем! Я сделал это!

После создания a new Extension at Kickstarter ...

В моей Шаблон для tt_address

###EMAIL1### 

Моя Дополнительное поле в tt_address стола называется

tx_ttaddressextended_email1 

Добавить новый класс-файл (класс .tx_ttaddressextended_filename.php) в моем новом расширении typo3conf/ext/tt_address_extended/

<?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 
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'; 

?> 
0

Думаю, вам лучше написать собственное расширение и использовать поля tt_address db. Я делаю это каждый раз, потому что, когда мне нужно его расширить, это не проблема в моем собственном расширении.

+0

Я не PHP-Pro, так что я имею проблемы, чтобы написать свое собственное расширение. Я нашел несколько учебных пособий для расширения популярного TYPO3-Extension, но он не работает.?! – user2310852

+0

Э-э ... Но не сложно написать расширение typo3 ... Попробуйте, узнайте об этом и станьте лучшим Typo3er – brandelizer

2

Вам необходимо написать собственный крючок для дополнительного элемента itemtderer tt_address.

Пример взят из tt-address-add-categorys-of-address-to-the-template, но сделать всех счастливыми, включают основные части здесь:

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 

класса tx_next_address_sort_addmarkers { функция дополнительныйItemMarkerProcessor (& $ MarkerArray, & $ адрес, & $ lConf, & $ PObj) {

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

    $markerArray['###EMAIL1###'] = $address['email1']; 
} 

}

+0

Этот ответ указывает на правильное решение. – lorenz

+1

Хотя эта ссылка может ответить на вопрос, лучше включить здесь основные части ответа и предоставить ссылку для справки. Ответные ссылки могут стать недействительными, если связанная страница изменится. – Krumia

+1

@krumia, я не знал, что это плохо, чтобы помочь кому-то, просто связавшись с другим ответом stackoverflow. Итак, я включил коды в свой ответ. – Dirk

-1

Там должен быть специальный синтаксис назвать маркеры для пользовательских полей.

Посмотрите на эту старую нить: http://www.typo3forum.net/forum/extension-modifizieren-neu-erstellen/27095-tt_address-um-link-feld-erweitert-marker-nutzen.html

Когда пользователь был успешным с

###LINK_TX_TTADDRESSEXT_INTLINK###

Таким образом, вы можете попробовать с

###EMAIL1_TX_TTADDRESSEXT_FIELDTYPE###

Не знаю, почему тип поля и что там положить!

 Смежные вопросы

  • Нет связанных вопросов^_^