TYPO3-Testaccount
Testen Sie die aktuellste TYPO3-Version kostenlos und unverbindlich für einen Monat!

Jetzt testen!

Schulungen

Powermail - TypoScript Feld blendet den Rest aus


Autor Nachricht
Verfasst am: 22. 11. 2008 [17:29]
typomik
Themenersteller
Dabei seit: 09.08.2004
Beiträge: 43
Hallo,

ich möchte eine Auswahl dynamisch befüllen. Habe dazu per Typoscript-Feld folgenden Testdaten aus dem Powermail Handbuch eingefügt:

TYPOSCRIPT
lib.object = COA_INT
lib.object {
        10 = TEXT
        10.value = <label for="uid33">Select:</label>
 
        20 = CONTENT
        20.wrap = <select id="uid33" name="tx_powermail_pi1[uid33]" size="1">|</select>
        20 {
                table = tt_address
                select {
                        pidInList = 99
                        orderBy = name
                }
....


Als Ergebnis erscheint die Auswahlbox mit den richtigen Inhalten. Danach bricht allerdings das Formular ab.
Der Grund scheint darin zu liegen, dass im HTML-Code das schließende </fieldset> für das Typoscript-Feld fehlt.

Muß ich das von Hand einfügen? oder ist es ein bug?

Schöne Zeit
Kurt

PS: Barbara hat anscheinend das gleiche Problem -> siehe http://lists.netfielders.de/pipermail/typo3-english/2008-November/055624.html

OS X | T3 4.5
Profil
Verfasst am: 22. 11. 2008 [18:19]
einpraegsam.net
Moderator
Dabei seit: 17.01.2005
Beiträge: 8607
Hi,

teste mal COA statt COA_INT. Falls das Plugin selbst schon USER_INT ist, kann es hier zu Problemen kommen.

Grüße, Alex

ProfilWWW
Verfasst am: 22. 11. 2008 [18:24]
typomik
Themenersteller
Dabei seit: 09.08.2004
Beiträge: 43
Hi Alex,

leider das gleiche Ergebnis.

Hier mein vereinfachter Test ...

TYPOSCRIPT
lib.object=COA
lib.object {
10=TEXT
10.value=<div id="powermaildiv_uid50" class="tx_powermail_pi1_fieldwrap_html tx_powermail_pi1_fieldwrap_html_select tx_powermail_pi1_fieldwrap_html_50">
20=TEXT
20.value=<label for="uid50">Packungsgröße</label>
30=TEXT
....


Die Selectbox wird wunderbar generiert, aber die danach folgenden Felder (in den folgenden Fieldsets) sind weg!

Grüsse
Kurt

OS X | T3 4.5
Profil
Verfasst am: 22. 11. 2008 [18:30]
einpraegsam.net
Moderator
Dabei seit: 17.01.2005
Beiträge: 8607
Ich kann auf unserer Testumgebung keinen Fehler feststellen:
http://testumgebung.einpraegsam.net/powermail.html

Hier mein Code zum dritten Feld:
TYPOSCRIPT
lib.object1 = COA
lib.object1 {
  10 = TEXT
  10.value = <div id="powermaildiv_uid50" class="tx_powermail_pi1_fieldwrap_html tx_powermail_pi1_fieldwrap_html_select tx_powermail_pi1_fieldwrap_html_50">
  20 = TEXT
  20.value = <label for="uid50">Packungsgröße</label>
  30 = TEXT
  30.value = <input type="text" />
  40 = TEXT
  40.value = </div>
 }


Eine Idee habe ich noch: Nimm mal die Umlaute und Sonderzeichen (ö, ß) testweise heraus

ProfilWWW
Verfasst am: 22. 11. 2008 [18:36]
typomik
Themenersteller
Dabei seit: 09.08.2004
Beiträge: 43
Hallo Alex,

Umlaute helfen leider nicht.

In der Testumgebung ist nur ein Fieldset angelegt. Das geht bei mir auch.
Interessant wird es, wenn danach ncoh ein oder mehrere Fieldsets kommen !!! (Ein-Seiten-Formular) !

beste Grüsse
Kurt

OS X | T3 4.5
Profil
Verfasst am: 22. 11. 2008 [18:41]
einpraegsam.net
Moderator
Dabei seit: 17.01.2005
Beiträge: 8607
Sorry, auch ein Zuschalten eines weiteren Fieldsets (gleiche Seite oder Mehrseitig über PHP) zeigt den beschriebenen Fehler nicht.
Wenn du willst, kann ich dir gerne einen Zugang zu unserer Testumgebung geben (bei Interesse PM)

ProfilWWW
Verfasst am: 25. 11. 2008 [11:28]
typomik
Themenersteller
Dabei seit: 09.08.2004
Beiträge: 43
Hallo Alex,

ich habs mit Deiner Hilfe gelöst!

Mit meinen bescheidenen php Kenntnissen habe ich folgendes herausgefunden:

- in der Routine pi1/class.tx_powermail_html.php steht in der Funktion, die das Typoscript Feld verarbeitet u.a. folgendes ...

PHP
$row = array ( // $row for using .field in typoscript
				'uid' => $this->uid, // make current field uid available
				'label' => $this->dontAllow($this->title), // make current label available
				'ttcontent_uid' => $this->cObj->data['_LOCALIZED_UID'] > 0 ? $this->cObj->data['_LOCALIZED_UID'] : $this->cObj->data['uid'] // make current tt_content uid available
			);
			$this->cObj->start($row, 'tx_powermail_fields'); // enable .field to use uid and label in typoscript



so, wenn ich nun die letzte Zeile auskommentiere gehts!!!

Entdeckt habe ich das so:

1. powermail komplett löschen und neu installieren
2. versuchen, die db abfragen zu verstehen, die die Daten für einzelnen Felder bereitstellen, beispielsweise per ...

3. vorher / nachher Test mit ...

PHP
print_r($this->cObj->data['uid']);
 
						$this->InnerMarkerArray['###POWERMAIL_FIELDS###'] .= $this->html_input_field->main($this->conf, $this->sessionfields, $this->cObj, $row, $this->tabindexArray()); // Get HTML code for each field
 
	print_r($this->cObj->data['uid']);

4. naja, und da sehe ich eben, dass bei allen fieldsets vor dem Typoscript-feld als uid die uid des tt_content Satzes steht. Nach dem typofeld steht plötzlich die uid 50 drauf --> das ist die uid vom typoscript feld.

ok, nur woher das kommt -> keine Ahnung
und warum das bei deiner Testinstallation nicht auch so ist -> keine Ahnung

schönen Tag noch

Kurt


OS X | T3 4.5
Profil
Verfasst am: 25. 11. 2008 [11:57]
einpraegsam.net
Moderator
Dabei seit: 17.01.2005
Beiträge: 8607
Und hier noch mal mein Aufruf:
Ich kann den Fehler nicht nachvollziehen. Bitte an mich wenden, wenn dieser Fehler auch bei anderen auftritt.

ProfilWWW
Verfasst am: 09. 01. 2009 [11:04]
RobertoB
Dabei seit: 28.02.2008
Beiträge: 4
Ich habe das gleiche Problem und möchte ungern an der Extension selbst rumschrauben.
Profil
Verfasst am: 09. 01. 2009 [11:41]
einpraegsam.net
Moderator
Dabei seit: 17.01.2005
Beiträge: 8607
Ich hätte Interesse an einem Zugang zu einer Testumgebung, wo ich den Fehler genauer untersuchen kann - also bei Interesse PM an mich!

ProfilWWW