Zum Inhalt springen

tt_news mit Powermail eintragen / Kategorieproblem

Erstellt am 12. Januar 2014 · 2 Antworten · letzte Antwort am 11. Mai 2014

Tags: Powermail, tt_news, TYPO3 4.x, Frage

warn ·

Hallo zusammen,

ich komme an dem folgenden Punkt nicht weiter, hat jemand von euch eine Idee oder gar eine Lösung?

User sollen per Powermail (2.0.10) Newsbeiträge einreichen können.
Das funktioniert auch alles soweit, bis auf das Eintragen der Kategorien.

Folgendes TS benutze ich:

#Selectfield um die Kategorien auszuwählen

lib.object = COA
lib.object {
10 = TEXT
10.value = <label for="branche" class="powermail_label">Branche </label>
20 = CONTENT
20.wrap = <select id="branche" name="branche" size="1" class="select_branche">|</select>
20 {
table = tt_news_cat
select {
pidInList = 14
orderBy = title
}
select.where = parent_category = 3

renderObj = COA
renderObj {
10 = COA
10 {
10 = TEXT
10 {
field = uid
wrap = <option value="|">
}

20 = TEXT
20 {
field = title
wrap = |</option>
}
}
}
}
}

plugin.tx_powermail.settings.setup {
# Save values to any table (example for tt_adress)
dbEntry {

# enable or disable db entry for tt_address
tt_news._enable = TEXT
tt_news._enable.value = 1
tt_news.pid = TEXT
tt_news.pid.value = 14
tt_news._mm = COA
tt_news._mm.10 = COA
tt_news._mm.10.1 = TEXT
tt_news._mm.10.1.value = tt_news_cat_mm
tt_news._mm.10.2 = TEXT
tt_news._mm.10.2.value = tt_news_cat
tt_news._mm.10.3 = TEXT
#HIER MÜSSTE IRGENDWO DER FEHLER LIEGEN - vermute ich. Laut Powermail Debug: MM_Table = no values ….
tt_news._mm.10.3.field = branche
tt_news.category = TEXT
tt_news.category.field= branche

Fragen die sich mir stellen:
> wie bekomme ich es hin, dass tt_news.category mit der UID der ausgewählten Kategorie befüllt wird?
> und wie bekomme ich es hin, dass tt_news.mm ebenfalls mit der UID der ausgewählten Kategorie befüllt wird?

Würd mich über eure Hilfe freuen – stehe seit ein paar Stunden auf dem Schlauch!
Grüße
Warn

warn ·

Für alle die es vielelicht ebenso interessiert. Hier eine Lösung zum obigen Problem.
Der tt_news Beitrag wird nun auch mit der entsprechend ausgewählten Kategorie aus der Selectbox eingetragen.

Neues Problem: in powermail_all wird nicht der Titel der Katagorie sondern die UID angezeigt. Lässt sich aber vorerst verschmerzen, wer jedoch hierfür einen Rat oder Lösung hat: her damit, würd mich freuen.

lib.object = COA
lib.object {
10 = TEXT
10.value = <label for="powermail_field_branche" class="powermail_label">Branche</label>
20 = CONTENT
#tx_powermail_pi1[field][15] = die 15 ist die ID des Powermailfelds im Formular
20.wrap = <select id="powermail_field_branche" name="tx_powermail_pi1[field][15]" size="1" class="select_branche">|</select>
20 {
table = tt_news_cat
select {
pidInList = 14
orderBy = title
}
select.where = parent_category = 3

renderObj = COA
renderObj {
10 = COA
10 {
10 = TEXT
10.dataWrap = <option value="{field:uid}">{field:title}</option>
10.insertData = 1
}
}

}
}
}

plugin.tx_powermail.settings.setup {
# Save values to any table (example for tt_adress)
dbEntry {

# enable or disable db entry for tt_address
tt_news._enable = TEXT
tt_news._enable.value = 1
tt_news.pid = TEXT
tt_news.pid.value = 14
tt_news._mm = COA
tt_news._mm.10 = COA
tt_news._mm.10.1 = TEXT
tt_news._mm.10.1.value = tt_news_cat_mm
tt_news._mm.10.2 = TEXT
tt_news._mm.10.2.value = tt_news_cat
tt_news._mm.10.3 = TEXT
#Hier wird der übergebene Wert aus der selectbox (Feld 15) eingetragen
tt_news._mm.10.3.data = GP:tx_powermail_pi1|field|15
tt_news.category = TEXT
tt_news.category.data = GP:tx_powermail_pi1|field|15

jeth-de ·

danke warn, mir hat dein Tipp sehr geholfen,

Lösungsvorschlag für dich: du könntest mir javascript auf der Confirm-Seite die hidden Inputs auslesen und da die Kategorie-Namen durch die durch den id ersetzen. Dann hättest du zwar die Zahl noch in der Bestätigungsmail und auf der Bestätigungsseite aber das ist mal ein Anfang
Sowas in etwa:

var kategoriename = $('input[name="tx_powermail_pi1[field][4]"]').val();
if (kategoriename = 'autos'){
$('input[name="tx_powermail_pi1[field][4]"]').val(1);
}

Ich habe es zwar noch nicht ausprobiert, aber werde es die nächsten Tage machen 🙂