Zum Inhalt springen

[DirectMail] HTML-Parameter aus tt-address-feld

Erstellt am 23. Februar 2011 · 1 Antwort · letzte Antwort am 7. März 2011

Tags: Frage

dom ·

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

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