Blog



Dateien hochladen und versenden

Im heutigen Update liegt eine neue Version von formmail. Damit ist es möglich Formulare zu bauen, die File-Upload-Felder enthalten. Die hochgeladenen Dateien werden dann als Anhang mit der EMail verschickt.

Wie geht das?

Man legt die Felder wie gewohnt an. Diese müssen allerdings mit file- beginnen. In der Volage ini also beispielsweise:
field_4=file-bild

In der Formularvorlage form wird das Feld in der Art eingefügt:
<input type="file" name="file-bild" accept="*/*">

Dort in der Vorlage muss dem Formular auch noch mitgeteilt werden, dass es Dateien überhaupt verschicken soll. Dazu ergänzt man den einleitenden form-Tag  um eine enctype-Angabe. Im Ergebnis sieht das dann beispielsweise so aus:
<form action="{formaction}" method="post" enctype="multipart/form-data">

Was jetzt noch fehlt ist die mail-Vorlage. Diese muss ja die Anhänge mit aufnehmen. Damit dies möglich ist, benutzt man das tdbmail3-Format. Eine Beispiel-Vorlage sieht so aus:
tdbmail3
webmaster@mein-ewm-system.de
informer@mein-ewm-system.de
Test Mail
{attachments}
Hier der übliche Mailtext mit Platzhaltern

Wie man sieht, muss lediglich an das tdbmail in der ersten Zeile eine 3 angefügt werden und zwischen Betreff und Text eine Zeile mit dem Platzhalter {attachments} eingefügt werden. An diese Stelle setzt der Formmailer dann die Anhänge.


Bei Anhängen muss übrigens der MIME-Typ bestimmt werden. Dazu wird die MIME-Datei von Apache benutzt. In mail.ini findet sich der Pfad dorthin, der auf jedem Linux-System mit installiertem Apache bereits stimmen sollte. Bei Bedarf kann er dort angepasst werden.

Die eigentlichen Anhänge werden temporär in syswork/formmail/file abgelegt. Man sollte in der trashman.ini eine Zeile aufnehmen, die sie dort wieder löscht. Etwa so:
[files]
...
Dir_10=../syswork/formmail/file
Mask_10=*.*
MaxAge_10=1440
SubDirs_10=Yes
DeleteEmptyDirs_10=Yes


Und nun viel Spaß beim Dateien verschicken. Naja, besser gesagt beim sich Dateien zuschicken lassen. Wozu auch immer man das nun wieder braucht. 8-)

Dieser Artikel wurde veröffentlicht am 24.07.2007 um 12:50 Uhr. Noch kein Kommentar.

Bloggen mit ewm - RSS

Machen wir mit dem nächsten Blog-Modul weiter: RSS

rss.prg wird direkt in custprg aufgerufen. Als Ergebnis wird ein RSS 2.0-Feed zurück gegeben, der die neuesten Artikel des Blogs enthält. Genau genommen gibt das Modul nur das zurück, was in der Vorlage steht. Es muss also nicht unbedingt RSS 2.0 sein, wobei ich das bevorzugen würde.

Also einfach http://[www.domain.de]/custprg/rss.prg aufrufen und fertig? Nicht ganz. Zuerst mal muss das rss.prg wissen, was ausgegeben werden soll. Das kann man mit Parametern mitgeben:
pos: Die Seite, von der die Unterpunkte per Feed ausgegeben werden.
num: Anzahl zurückgegebener Einträge
area: first oder last - Die ersten oder letzten Einträge
tags: Nur Artikel mit diesen Tags werden gewählt
template: Abweichender Name der Standardvorlage

Die Parameter können direkt übergeben werden. Wobei es jedoch schon etwas nervig ist, diese immer mitzugeben. Deshalb lassen sich in rss.ini Defaultwerte angeben. Die sieht dann z. B. so aus:
[default]
pos=/Blog
num=10
area=first

D. h. also, dass die ersten (area=first) 10 (num=10) Unterpunkte von /Blog (pos=/Blog) ausgegeben werden. Man kann dann auch einzelne Parameter überschreiben und so z. B. mit
...custprg/rss.prg
...custprg/rss.prg?tags=ewm
...custprg/rss.prg?tags=podcast
verschiedene Feeds anbieten.


Die Vorlagen
RSS benötigt 2 Vorlagen. Einmal das Rohgerüst rss/feed und dann die eigentlichen Einträge rss/item.

rss/feed
<?xml version="1.0" encoding="ISO-8859-1" ?>
<rss version="2.0">
   <channel>
      <title>eforia web manager Blog</title>
      <link>http://www.eforia.de/blog</link>
      <description>eforia web manager: Praxiseinsatz, Tipps und Tricks, Suchmaschinenoptimierung,  und vieles mehr.</description>
      <language>de-de</language>
      <pubDate>{pubdatemax}</pubDate>
      <lastBuildDate>{pubdatemax}</lastBuildDate>
      <docs>http://www.eforia.de</docs>
      <generator>eforia RSS Generator</generator>
      <managingEditor>horst.klier@tdb.de</managingEditor>
      <webMaster>horst.klier@tdb.de</webMaster>
      {items}
   </channel>
</rss>

Das ist also der Feed-Kopf. An Stelle von {items} werden dann die einzelnen Artikel eingefügt. Einziger sonstiger Platzhalter ist {pubdatemax}. Das ist das Datum des neuesten Item, der ausgegeben wird. Das Datum wird im RFC-konformen Format eingefügt.

rss/item
<item>
   <title><![CDATA[{title}]]></title>
   <description><![CDATA[{main}]]></description>
   <link><![CDATA[{link="url:full;type:static;"}]]></link>
   <pubDate>{pubdate}</pubDate>
   <guid isPermaLink="true">{link="url:full;type:static;"}</guid>
</item>

Als Platzhalter sind alle eforia-Tags erlaubt. Im Beispiel ist das {main}, {title} und {link}. Der Platzhalter {pubdate} wird mit dem Datum und Uhrzeit des Artikels gefüllt, die Angabe erfolgt dabei RFC-Konform. Daher auch ein extra Platzhalter, weil das per eforia-Standard-Tags noch etwas schwierig ist.
Die Parameter url und type bei {link...} sind übrigens auch neu in ewm5. Diese sorgen dafür, dass die URL komplett mit Domain und auf jeden Fall die statische Variante angegeben wird.

So, fehlt nur noch das Mini-Modul Navigation und das "Monster" Comments. Doch dazu morgen mehr.

Dieser Artikel wurde veröffentlicht am 23.07.2007 um 18:48 Uhr. Noch kein Kommentar.

Bloggen mit ewm - Overview

Heute habe ich ein kleines Update für das Modul overview abgestellt. Man kann jetzt die Quellseite angeben, von der Unterpunkte angezeigt werden.

Hä? Was? Nix verstehen?

Ja klar, bisher fehlt ja jegliche Doku, was das Modul überhaupt macht. Also....

Overview stellt die Unterpunkte der aktuellen Seite in einer Liste da. Genauer gesagt, hängt die Ansicht von der Vorlage ab. Als Beispiel dient gleich mal dieses Blog. Auf der Startseite des Bloges werden die letzten 10 Artikel dargestellt. Von jedem Artikel die Überschrift, der komplette Text und eine kleine Statuszeile. Sollten es mehr als 10 Artikel sein, kann man weiterblättern. Eben dazu dient das Modul Overview.

Man bindet es mit
{execmacro="overview" param="name=blog;step=10;"}
ein. Wobei der Name den Namen der Vorlage angibt. Hier also overview/blog.
Step gibt die Anzahl der Datensätze an, die gleichzeitig angezeigt werden.
Ansonsten gibt es noch tags, das gibt an, dass nur Artikel angezeigt werden, die das (oder die) ensprechende(n) Tags angegeben haben.
Wie oben erwähnt gibt es ganz neu auch noch source. Will man z. B. auf der Startseite die ersten 3 Artikel des Blogs einblenden, die das Tag "top" besitzen, so macht man das mit:
{execmacro="overview" param="name=blog;source=/Blog;step=3;tags=top;"}

Die Vorlage kann dann Beispielsweise so aussehen:
{block}
<br />
<a href="{link="pos:{position}"}" style="text-decoration:none;"><span class="subline" style="font-size:150%;">{title}</span></a><br /><br />
{main}
<hr width="100%" size="1" color="#FABF84">
<span class="small">Dieser Artikel wurde veröffentlicht am {date} um {time} Uhr.
{[0]if="{[1]execmacro="comments" param="info={position}"}=0"}Noch kein Kommentar{elsif="{[1]execmacro="comments" param="info={position}"}=1"}Ein Kommentar{else}{execmacro="comments" param="info={position}"} Kommentare{end}.
</span>
<hr width="100%" size="1" color="#FABF84">
{/block}

Zeige {firstitem} - {lastitem} von {totalitems}<br />

<table><tr>
<td>{first}<a href="{firstlink}">Anfang</a>{/first}{first_nn}{/first_nn}</td>
<td>{prev}<a href="{prevlink}">Zurück</a>{/prev}{prev_nn}{/prev_nn}</td>
<td>{next}<a href="{nextlink}">Vorwärts</a>{/next}{next_nn}{/next_nn}</td>
<td>{last}<a href="{lastlink}">Ende</a>{/last}{last_nn}{/last_nn}</td>
</tr></table>

Wie man sieht ist unten ein Block zum Blättern, der bei Bedarf Links anbietet.
 Was zwischen {block} und {/block} steht, wird für jeden Artikel wiederholt. Dabei können alle gewohnten eforia Tags benutzt werden. So auch {main} und {title} im Beispiel. Die Vorlage oben ist exakt die, die ich auch in diesem Blog verwende. Die Statusleiste greift auf das Comment-Modul zu um die Anzahl der Kommentare anzuzeigen. Die Zahlen in eckigen Klammern innerhalb der eforia Tags geben die Priorität an, mit der diese ersetzt werden. Das ist eine neue Funktion, zu der ich später noch mehr schreiben werden.

Overview gibt übrigens alle Datensätze aus, die Aktiv geschaltet sind. Ob "In Menu" aktiviert ist oder nicht, spielt keine Rolle. Hier wird ja kein Menü ausgegeben.

Ich glaube das reicht erstmal für diesen Beitrag. In Kürze geht es weiter mit den anderen ewm-Blog-Modulen.


Dieser Artikel wurde veröffentlicht am 23.07.2007 um 16:26 Uhr. Noch kein Kommentar.

Blog-Erweiterung für ewm5

So, nun habe ich nach einer Woche harter Umbauarbeiten eine neue Version der ewm5 Blog-Erweiterungen als Beta-Download abgestellt. Zumindest nach Außen funktioniert jetzt schon alles einigermaßen so, wie ich mir das vorstelle. "Nach Außen" meint dabei die Sicht des Blog-Lesers, an der internen Bedienung gibt es schon noch ein paar Sachen, die komfortabler werden sollen.

Ich werde morgen beginnen Stück für Stück ein Blog auf tdbengine.org einzurichten. Das ist derzeit noch nicht mal auf ewm5 umgestellt. Wenn da alles klappt, werden dann hier nach und nach alle notwendigen Informationen dazu veröffentlicht.

Gibt's denn überhaupt jemanden hier, der dringend darauf wartet mit ewm losbloggen zu können?

Dieser Artikel wurde veröffentlicht am 19.07.2007 um 16:15 Uhr. Noch kein Kommentar.
Zeige 41 - 44 von 44
Anfang Zurück


Hier bloggt Horst Klier mit und über eforia web manager und was dazugehört (HTML, Javascript, Internet, Webdesign, Such- maschinenoptimierung, usw.).

>> Zur Blog Startseite

RSS-Feed
abonnieren


Übersicht über alle Beiträge



eforia® ist ein eingetragenes Markenzeichen.
Alle anderen Marken und Markenzeichen gehören Ihren jeweiligen Besitzern.
Letzte Aktualisierung dieser Seite: 25.04.2024 / 03:33:30
Suche  
Login / Userdaten
Impressum/Datenschutz