Hallo zusammen,
tt_address wird zusammen mit direct_mail_subscription zur Anmeldung für einen
NL genutzt. Der Fehler: Es werden alle Felder ausser first_name und last_name
in der DB gespeichert. Diese Felder werden auch in der JS-Funktion updateForm
des Formulars nicht berücksichtigt (beide Felder bleiben bei einem erneuten
laden des Formulars einfach leer).
-> Typo3 4.1.2
-> tt_address 2.1.0
-> direct_mail_subscription 1.0.3
-> In tt_address ist die Option "Disable combined name field" gesetzt.
-> Es werden nur Standardfelder von tt_adress verwendet, keine weiteren über
eine EXT.
Bei der Fehleranalyse habe ich folgendes festgestellt:
In der fe_adminLib.inc (typo3/sysext/cms/tslib/media/scripts/) wird auf Zeile
212 die Membervariable $this->fieldList gesetzt:
---
// Setting the hardcoded lists of fields allowed for editing and creation.
$this->fieldList=implode(',',t3lib_div::trimExplode(',',$GLOBALS['TCA'][$this->theTable]['feInterface']['fe_admin_fieldList'],1));
---
Lese ich $GLOBALS['TCA'][$this->theTable]['feInterface']['fe_admin_fieldList']
aus, steht bei mir folgendes:
pid,hidden,name,title,address,phone,fax,mobile,www,email,city,zip,company,region,country,description
Es fehlen also die Felder first_name und last_name und somit ist auch klar
warum die bei bei $this->save() nicht berücksichtigt werden.
Schaue ich nun in die tca.php meiner tt_address sehe ich die beiden Felder
jedoch?
---
$TCA['tt_address'] = array (
'ctrl' => $TCA['tt_address']['ctrl'],
'interface' => array (
'showRecordFieldList' =>
'name,address,city,zip,region,country,phone,fax,email,www,title,company,image'
),
'feInterface' => $TCA['tt_address']['feInterface'],
'columns' => array (
'hidden' => array (
'exclude' => 1,
'label' =>
'LLL:EXT:lang/locallang_general.xml:LGL.hidden',
'config' => array (
'type' => 'check'
)
),
'name' => array (
'label' =>
'LLL:EXT:lang/locallang_general.xml:LGL.name',
'config' => array (
'type' => 'input',
'size' => '40',
'max' => '256'
)
),
'first_name' => array (
'exclude' => 0,
'label' =>
'LLL:EXT:tt_address/locallang_tca.xml:tt_address.first_name',
'config' => array (
'type' => 'input',
'size' => '40',
'eval' => 'trim',
'max' => '256'
)
),
'middle_name' => array (
'exclude' => 0,
'label' =>
'LLL:EXT:tt_address/locallang_tca.xml:tt_address.middle_name',
'config' => array (
'type' => 'input',
'size' => '40',
'eval' => 'trim',
'max' => '256'
)
),
'last_name' => array (
'exclude' => 0,
'label' =>
'LLL:EXT:tt_address/locallang_tca.xml:tt_address.last_name',
'config' => array (
'type' => 'input',
'size' => '40',
'eval' => 'trim',
'max' => '256'
)
),
'title' => array (
'exclude' => 1,
'label' =>
'LLL:EXT:lang/locallang_general.xml:LGL.title_person',
'config' => array (
'type' => 'input',
'size' => '20',
'eval' => 'trim',
'max' => '40'
)
),
[...]
---
Irgendwie wird scheinbar first_name, middle_name und last_name geflissentlich
ignoriert :-) Es geht dann mit title in der Liste weiter.
Das Typoscript-Setting sollte auch soweit passen:
---
// Edit setup
edit = 1
edit.fields = last_name,first_name,company,address,zip,city,phone,email
edit.required = last_name,first_name,company,address,zip,city,phone,email
edit.evalValues {
first_name = required
last_name = required
company = required
address = required
zip = required
city = required
phone = required
email = uniqueLocal, email
}
// Create setup
create = 1
create.preview = 0
create.fields =
hidden,last_name,first_name,company,address,zip,city,phone,email
create.required = last_name,first_name,company,address,zip,city,phone,email
---
Typo3 meckert ja die beiden Felder auch an falls man diese nicht ausfüllt (sind
Pflichtfelder), von daher scheint es von dieser Seite aus schon mal zu passen?
Ich möchte noch erwähnen, dass der Kunde mit der bereits fertigen Website zu
mir gewechselt ist und ich nicht ausschliessen kann das es irgendwo in der
Tiefe des Systems steckt. Wobei das eigentlich IMHO nicht sein kann: Die Site
läuft auf dem aktuellen (unveränderten, d.h. nicht hardcodiertem) Release von
Typo3 und im TS-Templatebrowser konnte ich in dem relevanten Bereich auch
nichts entdecken?
Ich bin ehrlich gesagt im Augenblick ein wenig ratlos und hoffe das jemand von
Euch eine Idee hat an was es noch liegen kann?
Besten Dank und Grüsse,
Andre
---
Andre Dittmar | hot bytes
Elbinger Straße 24
74226 Nordheim
Germany
Fon : +49 (0) 71 33 / 20 46 43
Fax : +49 (0) 71 33 / 20 46 42
D1 : +49 (0) 1 60 / 97 22 03 03
Web : http://www.hotbytes.de
Mail: [EMAIL PROTECTED]
Rechtliche Angaben:
-------------------
Geschäftsführer: Andre Dittmar
Gerichtsstand: Amtsgericht Heilbronn a.N.
____________
Virus checked by G DATA AntiVirusKit
Version: AVK 17.6876 from 15.08.2007
Virus news: www.antiviruslab.com
_______________________________________________
TYPO3-german mailing list
[email protected]
http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-german