![]() |
| | LinkBack | Themen-Optionen | Thema bewerten | Ansicht |
|
#1
| |||
| |||
Hallo zusammen, ich versuche seit heute Mittag, der Direct Mail Subscription ein weiteres Feld zuzuweisen. Ich hab es mit "City" und "Company" versucht, dürfte ja egal sein, da sowieso etwas anderes reingeschrieben wird. Hab alles genauso wie in den Anleitungen gemacht (meine ich zumindest). Im Template wird das Feld angezeigt, aber in der Bestätigungsmail nicht eingefügt. Hab die Änderung im Setup gemacht, was bei den anderen ja meist die Fehlerquelle war. Mein Setup sieht so aus: Code: <INCLUDE_TYPOSCRIPT: source="FILE: fileadmin/templates/tpl/typoscript/c.txt"> <INCLUDE_TYPOSCRIPT: source="FILE: fileadmin/templates/tpl/typoscript/m.txt"> <INCLUDE_TYPOSCRIPT: source="FILE: fileadmin/templates/tpl/typoscript/m_d.txt"> <INCLUDE_TYPOSCRIPT: source="FILE: fileadmin/templates/tpl/typoscript/lastupdate.txt"> #<INCLUDE_TYPOSCRIPT: source="FILE: fileadmin/templates/tpl/typoscript/src.txt"> #<INCLUDE_TYPOSCRIPT: source="FILE: fileadmin/templates/tpl/typoscript/lup.txt"> #<INCLUDE_TYPOSCRIPT: source="FILE: fileadmin/templates/tpl/typoscript/p.txt"> #<INCLUDE_TYPOSCRIPT: source="FILE: fileadmin/templates/tpl/typoscript/num.txt"> <INCLUDE_TYPOSCRIPT: source="FILE: fileadmin/templates/tpl/typoscript/s.txt"> plugin.feadmin.dmailsubscription.edit.fields = name, email, city, hidden plugin.feadmin.dmailsubscription.create.fields = name, email, city, hidden plugin.feadmin.dmailsubscription.edit.required = name, email, city plugin.feadmin.dmailsubscription.create.required = name, email, city Code: plugin.feadmin.dmailsubscription.edit.fields = name, email, city, hidden plugin.feadmin.dmailsubscription.create.fields = name, email, city, hidden Code: <input type="text" name="FE[tt_address][city]"> Kann mir jemand sagen, wo der Fehler liegt? Ich komme beim besten Willen nicht mehr weiter. Vielen Dank schon im Voraus! Lg, Felix |
|
#2
| |||
| |||
| Kann mir keiner helfen? |
|
#3
| |||
| |||
| Ich habe selbiges Problem und hätte gerne auch einen Hinweis! |
|
#4
| |||
| |||
| Ich bin gerne auch bereit, dafür zu bezahlen, wenn jemand das Problem schnell lösen kann. Meldet euch bitte bei mir. |
|
#5
| |||
| |||
| hy cyrus, hier im forum gibt es einen beitrag dazu. leider finde ich den gerade nicht. da war auf jeden fall eine lösung für mich: # Erstellung der Eingabefelder für die Newsletteranmeldung plugin.feadmin.dmailsubscription.edit.fields = name, email, company, hidden ... module_sys_dmail_category, module_sys_dmail_html plugin.feadmin.dmailsubscription.create.fields = name, email, company, hidden module_sys_dmail_category, module_sys_dmail_html in meinem fall mußte ich das feld company einfügen. hab das dann noch im html-template eingebaut und es lief. weitere benennungen der edit.fields habe ich zb aus der mysql datenbank. vielleicht findest du aber den beitrag ja noch. da steht alles noch besser beschrieben. gruß nervkopf |
|
#6
| |||
| |||
| Hi Nervkopf, vielen Dank für deine Antwort. Das habe ich aber schon in meinem Template stehen. Wie gesagt, ich habe alles so gemacht wie in den Anleitungen. Trotzdem klappts nicht. Naja, scheinbar unlösbar. Wir haben jetzt eine andere Lösung gefunden, wenn auch weit weniger elegant . Lg, cyrus |
|
#7
| |||
| |||
Hallo, ![]() Das Problem bei Direct Mail Subscription ist mir auch aufgefallen. Das Einstellungen im Typoscript sind notwendig, aber nicht hinreichend. ![]() Für das Speichern der Formulardaten ist folgende Datei zuständig: Code: typo3/sysext/cms/tslib/media/scripts/fe_adminLib.inc Diese Datei prüft, ob die übergebenen Tabellenspalten auch der TCA bekannt sind. Sind sie aber nicht, wenn man sie einfach mit PHPmyAdmin hinzufügt! Um es elegant hinzubekommen, reicht folgendes: * Ich installiere Kickstarter (kickstarter). * Ich erstelle mir mit dem Kickstarter eine neue Extension. * Ich erweitere die Tabelle tt_address um meine Spalten. Somit weiß auch die TCA davon, dass es diese Tabellenspalten gibt. ![]() Man muss dann noch auf "View Result" und "WRITE" klicken, um die neu geschriebene Extension zu speichern. Das reicht. Die tt_address ist nun auch "offiziell" um meine Spalten erweitert und die Formulardaten werden in die Tabelle eingetragen. Achtung: Die hinzugefügten Tabellenspalten aus dem Beispiel heißen nicht date_dd usw., sondern im obigen Beispiel tx_dmailsubscgosms_date_dd, je nachdem wie die Extension heißt. Der Kickstarter nennt die Felder um, um sie eindeutig der neuen Extension zuzuordnen. (Um dass zu ändern, kann man die ext_tables.php der Extension anfassen, aber das geht mir hier zu weit.) Fertig. Viele Grüße und viel Erfolg! mquintus -- Wie ich darauf gekommen bin habe ich hier dokumentiert: Für das Speichern der Formulardaten ist folgende Datei zuständig: typo3/sysext/cms/tslib/media/scripts/fe_adminLib.inc Hierbei handelt es sich um eine PHP-Datei. Warum sie die Endung .inc trägt, weiß ich nicht, aber das werde ich sicherlich nochmal herausfinden. Zuerst schaue ich mir die Funktion Code: init Code: // If incoming data is seen... Ich füge in Zeile etwa 300 folgende Zeile ein: Code: print_r($this->dataArr); Ich kommentiere den Befehl aus. Gebe ich folgendenen Code in die .inc Datei Code: print_r($this->failure); Soweit ist das Verhalten super, ich kommentiere auch diesen Befehl aus. Code: //print_r($this->dataArr); //print_r($this->failure); //print_r($this->preview); Code: $this->save In Zeile 841 finden wir diese Funktion. Die Variable Code: $this->cmd Code: create Code: default:
if ($this->conf['create']) {
$newFieldList = implode(',',array_intersect(explode(',',$this->fieldList),t3lib_div::trimExplode(',',$this->conf['create.']['fields'],1))); Code: print_r($this->dataArr);
print_r("\n" . $this->fieldList . "\n\n");
print_r($newFieldList); die(); Ich erhalte folgende Ausgabe: Code: Array
(
[title] => Herr
[first_name] => asdas
[last_name] => asfd
[mobile] => safsdf
[date_dd] => 01
[date_mm] => 01
[date_yyyy] => 2008
[email] => marius@gosign.de
[email_oder_sms] => sms
[module_sys_dmail_html] =>
[module_sys_dmail_category] => 0
[hidden] => 1
)
pid,hidden,gender,name,first_name,middle_name,last_name,title,address,building,room,birthday,phone,fax,mobile,www,email,city,zip,company,region,country,image,description,module_sys_dmail_category,module_sys_dmail_html
hidden,first_name,last_name,title,mobile,email,module_sys_dmail_category,module_sys_dmail_html Die erste Ausgabe sind die Werte, die ich in die Datenbank schreiben möchte. Die zweite Ausgabe sind alle erlaubten Datenbankfelder. Die dritte Ausgabe gibt mir alle übereinstimmenden Felder: Also alle Felder, die ich in die Datenbanktabelle schreiben möchte UND die erlaubt sind. Der Fehler liegt also bei: Code: $this->fieldList Code: init In Zeile 210 finde ich dann die Zuweisung: Code: // 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)); in die nächste Zeile einfach meine gewünschten Tabellenspalten hinzu, und fertig: Code: // 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));
// added by mquintus @ <firmenname>
$this->fieldList.=',date_dd,date_mm,date_yyyy,email_oder_sms'; Außerdem ist ein Komma (,) am Anfang des hinzugefügten Strings notwendig. Fertig! Aber sind wir wirklich fertig? Das kann es doch nicht gewesen sein. Schließlich geht es um mehr! Nun gut, ich gebe zu, dass ich nicht <i>wirklich weiß</i>, warum die zu schreibenden Felder so eingeschränkt sind, und außerdem ist diese Lösung ganz und gar nicht elegant. Z.B. weiß ich nicht, an welchen Stellen diese Prüfung erneut geschieht. Die Seiteneffekte dieser Lösung sind ungeklärt! Also geht es weiter. Die Lösung wird wieder auskommentiert. Code: // 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));
// added by mquintus @ <firmenname>
//$this->fieldList.=',date_dd,date_mm,date_yyyy,email_oder_sms'; Geändert von mquintus (27.06.08 um 13:25 Uhr). Grund: ach ja ... |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | Thema bewerten |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Gelöst GET Variablen werden in URL nicht richtig übernommen... | Winddancer | Extension modifizieren oder neu erstellen | 1 | 29.02.08 21:02 |
| RTE-Änderungen werden nicht übernommen | Carlo | TYPO3 4.x Rich Text Editor | 4 | 10.01.08 16:34 |
| Templateänderungen werden nicht übernommen | Bulbiculus | TYPO3 4.x Fragen und Probleme | 1 | 30.12.07 23:01 |
| Punktlisten & Nummerierungen werden nicht übernommen | paopao | TYPO3 4.x Fragen und Probleme | 3 | 28.11.06 16:34 |
| goof_fotoboek - CE-Änderungen werden nicht übernommen | 2pauli | Alle anderen Extensions | 0 | 09.08.06 16:00 |