Zum Inhalt springen

powermail und tt_news auf einer Seite

Erstellt am 19. August 2010 · 9 Antworten · letzte Antwort am 22. Januar 2014

Tags: Powermail, tt_news, Frage

gidouille ·

Hallo,

das Problem ist eigentlich recht einfach:

Ich habe tt_news und powermail auf der selben Seite nebeneinander stehen.

Das funktioniert soweit auch ganz gut, nur geht leider in der SINGLE Ansicht von tt_news die news_id verloren, wenn eine mail gesendet wird, so dass dann das unschöne "Keine news_id übergeben." erscheint.

Wie bringe ich powermail dazu, nicht nur die page-id zu übernehehmen, sondern auch noch das angehängte &tx_ttnews[tt_news]=xx ?

Weiß jemand Rat?
Vielen Dank!

gidouille ·

ok... ich verstehe, in welche Richtiung die Lösung geht, aber leider bin ich noch längst nicht so fit.

Noch verstehe ich nicht, wo der Marker hin muss, aber immerhin habe ich einen Verdacht wie ich ihn fülle...

gidouille ·

so langsam komme ich der Sache näher, aber es gelingt mir nicht, den angehängten Parameter zu lesen.

Mit

$this->cObj->typolink_conf["additionalParams"]

habe ich es versucht, aber das ist offensichtlich falsch.

wie komme ich an das Ding ran?

gidouille ·

Ich habe versucht, direkt in der extension herumzupfuschen.

In class.tx_powermail_form.php

findet sich die Stelle, wo der ###POWERMAIL_TARGET###-Marker gefüllt wird:

$this->OuterMarkerArray['###POWERMAIL_TARGET###'] = htmlentities($this->cObj->typolink('y', array('returnLast' => 'url', 'parameter' => $GLOBALS['TSFE']->id,  'section' => ($this->cObj->data['_LOCALIZED_UID'] > 0 ? $this->cObj->data['_LOCALIZED_UID'] : $this->cObj->data['uid']),'additionalParams' => '&tx_powermail_pi1[mailID]='.($this->cObj->data['_LOCALIZED_UID'] > 0 ? $this->cObj->data['_LOCALIZED_UID'] : $this->cObj->data['uid']), 'useCacheHash'=>1)));

so wie ich mit $GLOBALS['TSFE']->id an die ID der Seite komme, oder mit
$this->cObj->data['uid'] an die UID von Powermail, müsste es doch einen Code-Schnipsel geben, der die aditionalParams, die tt_news erzeugt hat, hier wieder einfügt.

Ich weiß, das ist nicht besonders elegant, aber Hauptsache es funktioniert erstmal...

herzlichen Dank!

citizenkane ·

plugin.tx_powermail_pi1.dynamicTyposcript {
yourfield1 = TEXT
yourfield1.data = getIndpEnv:REQUEST_URI
}

--> dann bekommst Du einen Marker -> ###POWERMAIL_TYPOSCRIPT_YOURFIELD1###

Mir ist aber nicht ganz klar wie ich zum additional Parameter zB. &tx_powermail_pi1[mailID]=75 komme...

einpraegsam.​net ·

Was citizenkane schreibt, wäre auch meine Vorgehensweise

Ins Blaue:

plugin.tx_powermail_pi1.dynamicTyposcript {
  yourfield1 = TEXT
  yourfield1 {
    value = x
    typolink.parameter.data = TSFE:id
    typolink.returnLast = url
    typolink.additionalParams.cObject = COA
    typolink.additionalParams.cObject {
      10 = TEXT
      10.value = 75
      10.wrap = &tx_powermail_pi1[mailID]=|
    }
  }
gidouille ·

Ich hab's hingekriegt!!!!

Wurde aber noch recht kompliziert, denn der additionalParam von tt_news muss vor dem von powermail stehen. Einfach hintendran kleben geht also nicht.

Mit citizenkanes Tipp habe ich einen neuen Marker erzeugt.

Dann in class.tx_powermail_form.php
eine Bedingung eingefügt, die die entsprechenden SINGLE-VIEW-Seiten erkennt und in diesem Falle an ###POWERMAIL_TARGET### vorne abschneidet was sonst doppelt wäre.

In tmpl_formwrap.html beide Marker hintereinander gesetzt - funktioniert!

Ganz herzlichen Dank für eure Hilfe!😃