|
ulf-wendel.de   
|
|
 Home < PHP Schulung  < Templates  < PHPLib  < E-Mail    |       |  
Print Version    
---
|
|
 Home 
 PHP Projekte 
 PHP Schulung 
    Informationsquellen 
    Geschichte 
    Core PHP 
    Fortgeschrittenes PHP 
    Templates 
       Was? 
       Motivation 
       Klassifizierung 
       Testvorlage 
       Keine Templates 
       PHPLib 
          HTML 
          E-Mail 
       IT[X] 
    Cache-Technologien 
    OOH Forms 
 Technik der Site 
 Büchertipps 
 Fotografie 
 Airbrush 
 Kontakt 
 Stuff 

Stolperfalle: Zeilenumbruch

Wie mit Platzhaltern denen kein Wert zugewiesen wurde umzugehen ist, wird im optinalen, zweiten Parameter des Konstruktor Template_PHPLIB(string $template_root, string $unknow = "remove") festgelegt. Es können die Werte "remove" und "keep" angegeben werden.

Wird kein HTML-Dokument erzeugt, bei dem Leerzeichen und Zeilenumbrüche nur im <pre>-Container von Bedeutung sind, sondern ein Textdokument ist sehr genau darauf zu achten, wo die Kennzeichner für Blöcke plaziert werden.

<!-- BEGIN news -->
[HEADLINE]
[ERSCHEINUNGSDATUM], [URL]

<!-- END news -->
      
In der Datei newsletter_phplib.txt bilden <-- BEGIN news --> und <-- END news --> jeweils eine eigene Zeile, die erhalten wird. Dies kann - wie im Beispiel - zu unerwünschten Zeilen führen. Das Problem existiert ebenfalls bei den IT[X]-Templates.


PHPLib Templates, PEAR-faschion Top

<?php
// hier: PHPLib-Templates, PEAR-fashion
require_once("Template_PHPLIB/Template_PHPLIB.php");

// wo befinden sich die Templates?
$tpl = new Template_PHPLIB($DOCUMENT_ROOT "/schulung/templates/""remove");

// Template laden
$tpl->setFile(array("main" => "newsletter_phplib.txt")); 

// Platzhalter ersetzen, Wertepool füllen
$tpl->setVar("DATUM"date("d.m.Y"time()));

// Blockschachtelung beschreiben
$tpl->setBlock("main""news""NEWS_ROWS");
for (
$i 0$i 3$i++) {
  
$tpl->setVar(
            array(
                
"HEADLINE"          => "Headline $i"
                
"ERSCHEINUNGSDATUM" => date("d.m.Y"time() + $i 100),
                
"URL"               => "http://www.example.com/$i"
              
)
            );
  
$tpl->parse("NEWS_ROWS""news"true);
}

// Ausgabe
$tpl->parse("MAIN""main");
$tpl->p("MAIN");
?>  
Ausgabe Top
                                                    Kiel, den 19.05.2012
Hallo  , 

vielen Dank für die Registrierung zu unserem Newsletter.
Einmal im Monat werden wir Sie über Neuigkeiten rund um
PHP informieren.

Falls Sie unseren Dienst nicht mehr nutzen möchten, 
so können Sie sich unter http://www.example.com/abmelden.php
mit folgenden Benutzerdaten abmelden:

Benutzerkennung: 
Passwort:        

+++ News +++


Headline 0
19.05.2012, http://www.example.com/0


Headline 1
19.05.2012, http://www.example.com/1


Headline 2
19.05.2012, http://www.example.com/2


+++  Kontakt  +++

http://www.example.com
info@example.com

Ihr www.example.com-Team

-- 
http://www.example.com - die tägliche Newsquelle
Abmelden? http://www.example.com/abmelden.php

<  ^  >

 Neues

 XML/XSLT Menu
 OOH-Form Rewrite

 PEAR Cache:
  SHM Container

 Suchstring Parser
 Buchrezensionen
 PEAR Cache:
  OutputCompression

 PEAR Menu Browser
 PEAR Menu Tutorial 
 PEAR Cache


 Tipp

Download Version:
oben rechts,
Download *.tar.gz
|
| --- |
|
  Top   |   <  ^  >   |   phpOpenTracker Statistik   |   URL: http://www.ulf-wendel.de/schulung/templates/phplib/email.php   |   Stand: 17.02.2002   |   © Ulf Wendel   
|
| --- |

0.024 s Bearbeitungszeit, 0.002 s IT[X], 0.003 s Menu 3