Hallo,
ich habe ein PHP-Skript, dass ich per LumoPHP in den Content einbinde. Dieses benötigt Parameter (Katalog, Seite) die kundenspezifisch sind. Deshalb habe ich tt_address um zwei Einträge mit dem Kickstarter erweitert. Ich will jetzt mit Direct_mail Newsletter versenden und müsste diese Parameter zu jedem Datensatz ändern. Hat jemand damit schon Erfahrungen gemacht, oder gibt es eine bessere Lösung. Das Php-Skript ist als Datensatz Bestandteil im Newsletter-Template. Danke schonmal für jeden Tipp.
Gruss
Dom
Endlich habe ich nach langem Suchen ein "fast" funktionierendes Script für mein Problem. Ich binde das externe PHP-Skript nun doch nicht als Datensatz ein, sondern versuche alles über TS zu lösen. Die HTML-Parameter sind sowieso Bestandteil des PAGE-TS-Config von Directmail, weswegen ich sie nicht einfach im normalen Setup ansprechen kann, oder?
Constants
plugin.tx_directmail_pi1 {
siteUrl = www.myurl.de
plaintext = fileadmin/templates/directmail_plaintext.txt
html = fileadmin/templates/directmail_html.txt
FlowedFormat = 1
doubleLF = 0
removeSplitChar = 1
}
Setup
### Newsletter Setup
## damit wird unnötiges JavaScript im Header unterbunden
config.disableAllHeaderCode = 1
## Setup für Plaintext-Version des Newsletters
plugin.tx_directmail_pi1 = USER
plugin.tx_directmail_pi1.userFunc = tx_directmail_pi1->main
plugin.tx_directmail_pi1 {
siteUrl = {$plugin.tx_directmail_pi1.siteUrl}
flowedFormat = {$plugin.tx_directmail_pi1.flowedFormat}
header.defaultType = 1
header.date = D-m-Y
header.datePrefix = |###HEADER_DATE_PREFIX### |
header.linkPrefix = | ###HEADER_LINK_PREFIX### |
header.1.preLineLen = 76
header.1.postLineLen = 76
header.1.preBlanks=1
header.1.stdWrap.case = upper
header.2 < .header.1
header.2.preLineChar=*
header.2.postLineChar=*
header.3.preBlanks=2
header.3.postBlanks=1
header.3.stdWrap.case = upper
header.4 < .header.1
header.4.preLineChar= =
header.4.postLineChar= =
header.4.preLineBlanks= 1
header.4.postLineBlanks= 1
header.5.removeSplitChar = {$plugin.tx_directmail_pi1.removeSplitChar}
header.5.preBlanks=1
header.5.autonumber=1
header.5.prefix = |: >> |
defaultOutput (
|
[###UNRENDERED_CONTENT### ###CType### ]
|
)
uploads.header = |###UPLOADS_HEADER###|
images.header = |VERKNÜPFTES BILD:|
images.linkPrefix >
images.captionHeader = |###CAPTION_HEADER###|
bulletlist.0.bullet = |* |
bulletlist.1.bullet = |# |
bulletlist.2.bullet = | - |
bulletlist.3.bullet = |> |
bulletlist.3.secondRow = |. |
bulletlist.3.blanks = 1
menu =< tt_content.menu.20
shortcut =< tt_content.shortcut.20
shortcut.0.conf.tt_content =< plugin.tx_directmail_pi1
shortcut.0.tables = tt_content
bodytext.doubleLF = {$plugin.tx_directmail_pi1.doubleLF}
bodytext.stdWrap.parseFunc.tags {
link < styles.content.parseFunc.tags.link
typolist = USER
typolist.userFunc = tx_directmail_pi1->typolist
typolist.siteUrl = {$plugin.tx_directmail_pi1.siteUrl}
typolist.bulletlist =< plugin.tx_directmail_pi1.bulletlist
typohead = USER
typohead.userFunc = tx_directmail_pi1->typohead
typohead.siteUrl = {$plugin.tx_directmail_pi1.siteUrl}
typohead.header =< plugin.tx_directmail_pi1.header
typocode = USER
typocode.userFunc = tx_directmail_pi1->typocode
typocode.siteUrl = {$plugin.tx_directmail_pi1.siteUrl}
}
}
includeLibs.tx_directmail_pi1 = EXT:direct_mail/pi1/class.tx_directmail_pi1.php
tx_directmail_pi1 >
tx_directmail_pi1 = PAGE
tx_directmail_pi1.typeNum=99
tx_directmail_pi1.config {
disableAllHeaderCode = 1
additionalHeaders = Content-type:text/plain
}
tx_directmail_pi1.10 = TEMPLATE
tx_directmail_pi1.10 {
template = FILE
template.file = {$plugin.tx_directmail_pi1.plaintext}
marks.CONTENT < styles.content.get
marks.CONTENT.renderObj = < plugin.tx_directmail_pi1
marks.URL = COA
marks.URL {
10 = TEXT
10.typolink.target = _blank
10.typolink.returnLast = url
10.typolink.parameter.cObject = COA
10.typolink.parameter.cObject {
#Link in Textmails verweist auf allgemeine Katalogseite (PID)
10 = TEXT
10.value = index.php?id=30
20 = TEXT
20{
value = ###USER_tx_idml2html_katalog###
wrap = &docname=|
required = 1
}
30 = TEXT
30{
value = ###USER_tx_idml2html_spread###
wrap = &spread=|
required = 1
}
}
10.wrap = http://{$plugin.tx_directmail_pi1.siteUrl}/|
}
}
# page
page >
page = PAGE
page.10 = TEMPLATE
page.10 {
template = FILE
template.file = {$plugin.tx_directmail_pi1.html}
marks.CONTENT < styles.content.get
marks.CONTENT.renderObj = < plugin.tx_directmail_pi1
}
marks.IDML = PHP_SCRIPT_EXT
marks.IDML {
file = fileadmin/idml2html/###USER_tx_idml2html_katalog###/pageindex.txt
docname = ###USER_tx_idml2html_katalog###
spread = ###USER_tx_idml2html_katalog###
}
marks.HEADER = COA
marks.HEADER {
stdWrap.prefixComment = 2|Output of lib.header
# Logo im Header
10 = COA
10 {
stdWrap.prefixComment = 2|Output of lib.header.10
stdWrap.outerWrap.cObject = COA
stdWrap.outerWrap.cObject {
wrap = <div id="logo">|</div>
10 = TEXT
10.value = <img class="headImg1" src="|"
20 = TEXT
20.value = alt="
30 = TEXT
30.data = page:title
40 = TEXT
40.value = "
50 = TEXT
50.value = title="
60 = TEXT
60.data = page:title
70 = TEXT
70.value = " width="{$logoWidth}" height="{$logoHeight}" />
}
# Logo im Header wird an Ressource 1 gesucht
10 = IMG_RESOURCE
10 {
file = GIFBUILDER
file {
format = png
XY = {$logoWidth},{$logoHeight}
transparentBackground = {$logoTransparency}
10 = IMAGE
10 {
file {
width = {$logoWidth}
height = {$logoHeight}
import {
required = 1
data = levelmedia: -1, "slide"
wrap = uploads/media/ |
listNum = 0
}
}
}
}
}
}
}
# Logo im Header wird verlinkt
[globalVar = LIT:1 = {$linkLogoToggle}]
marks.HEADER.10 = COA
marks.HEADER.10 {
stdWrap.prefixComment = 2|Output of lib.header.10
stdWrap.outerWrap.cObject = COA
stdWrap.outerWrap.cObject {
10 = TEXT
10.value = <img class="headImg1" src="|" alt="" title="Home" width="{$logoWidth}" height="{$logoHeight}" />
10.typolink.parameter = {$homePageUID}
10.typolink.target =
20 >
30 >
40 >
50 >
60 >
70 >
}
}
[global]
# GIFBUILDER wird beim Logo umgangen
[globalVar = LIT:1 = {$noGifBuilderForLogo}]
marks.HEADER.10.10.file = IMAGE
marks.HEADER.10.10.file {
import {
required = 1
data = levelmedia: -1, slide
wrap = uploads/media/ |
listNum = 0
}
}
[global]
# Logo ausschalten
[globalVar = LIT:1 = {$logoOff}]
marks.HEADER.10 >
[global]
marks.URL = COA
marks.URL {
10 = TEXT
10.typolink.target = _blank
10.typolink.returnLast = url
10.typolink.parameter.cObject = COA
10.typolink.parameter.cObject {
#Link in Textmails verweist auf allgemeine Katalogseite (PID)
10 = TEXT
10.value = index.php?id=30
20 = TEXT
20{
value = ###USER_tx_idml2html_katalog###
wrap = &docname=|
required = 1
}
30 = TEXT
30{
value = ###USER_tx_idml2html_spread###
wrap = &spread=|
required = 1
}
}
10.wrap = http://{$plugin.tx_directmail_pi1.siteUrl}/|
}
marks.FOOTER = COA
marks.FOOTER {
stdWrap.prefixComment = 2|Output of lib.footer
wrap = |
10 = TEXT
10.stdWrap.prefixComment = 2|Output of lib.footer.100
10.value = {$footerInformation}
10.wrap = <div id="copyright">|</div>
}
# Footer ausschalten
[globalVar = LIT:1 = {$footerOff}]
marks.FOOTER.10 >
[global]
}
Das Problem ist nun, dass nur der Marker ###HEADER### funktioniert, alles andere ###IDML### und ###FOOTER### wird nicht ersetzt. Ich habe schon zig anderen Versuche gemacht und die Marker im File und im PageContent zeitgleich eingepflegt -> leider kein Erfolg.
Würde mich sehr über Hilfe freuen. Der Plaintext-Newsletter ist OK.
Danke und Gruss
Dom