Page 1 of 1

Image- und Thumbnail-Wert aus Optionstab mit Content_Dump auslesen

Posted: Sat Apr 25, 2009 7:27 pm
by nhaack
Hallo zusammen,

Es gab zu dem Content_Dump Plug-in von Sonya den Request auch die Felder Image und Thumbnail aus dem Optionstab einer Seite auslesen zu können. Dies ist allerdings bereits möglich, nachfolgend eine Beschreibung:

Zunächst dachte ich die entsprechenden Felder liegen in einem anderen DB Table, allerdings liegen diese ebenfalls in prefix_content_props. Somit lassen sie sich bereits mit dem bestehenden Funktionsumfang nutzen.

Einfach im Parameter "extensions" oder "block_name" die gewünschten Felder nennen. Ein Basis-Beispiel für eine verlinkte Teaser-Seite (Content-Block "teaser" wird zusätzlich genutzt):

Code: Select all


{content_dump block_name="teaser" extensions="thumbnail" assign="dump"}
{foreach from=$dump item=dump}
<div class="entry">
   <h3>{cms_selflink page=$dump->content->alias}</h3>
   <p>{$dump->content->data}</p>
   <img src="{$dump->extensions->thumbnail->data}" />
</div>
{/foreach}

Als Inhalt für das Feld des Bildes/Thumbnails bekommen wir den Dateinamen zurück. Hat die Seite kein Thumbnail oder Image wird "-1" zurückgegeben (Achtung: -1 ist in diesem Fall ein String!).

Das heißt, bei einer Seite ohne Bild würde der entsprechende Teaser wie folgt lauten:

Code: Select all


...
   <img src="-1" />
...

Das geht natürlich nicht ;)

Eine kleine Smarty-Erweiterung des Templates hilft hier weiter. Wenn ein Bild ausgewählt ist, dieses Bild verwenden, ansonsten default Bild nutzen. Soll kein Bild gezeigt werden, wenn keines eingetragen wurde, einfach den {else} Teil aus dem Template löschen.

Code: Select all


{content_dump block_name="teaser" extensions="thumbnail" assign="dump"}
{foreach from=$dump item=dump}
<div class="entry">
   <h3>{cms_selflink page=$dump->content->alias}</h3>
   <p>{$dump->content->data}</p>
    {if $dump->extensions->thumbnail->data != "-1"}
       <img src="{$dump->extensions->thumbnail->data}" />
    {else}
       <img src="standard-bild-name.jpg" />
    {/if}
</div>
{/foreach}

Ich hoffe dem einen oder anderen ist hiermit geholfen :)

Beste Grüße
Nils

Re: Image- und Thumbnail-Wert aus Optionstab mit Content_Dump auslesen

Posted: Sun Apr 26, 2009 5:33 pm
by Sonya
Super! Vielen Dank! Ich werde es für die Bilder im RSS Feed nutzen :), den ich mit {content_dump} erstelle :)

Re: Image- und Thumbnail-Wert aus Optionstab mit Content_Dump auslesen

Posted: Sun Apr 26, 2009 11:23 pm
by nhaack
Bite bitte... ich freue mich immer wieder wenn jemand mit dem Plug-in gerne arbeitet. Darf ich fragen wofür du Content_Dump noch verwendest (RSS war damals der initiale Anlass zur Entwicklung)? Hast du sonstige Featurewünsche/Anmerkungen?

Würdest du ggf. dein anonymisiertes finales Smarty Template für den XML Feed mit Bildern hier posten?

Wie hast du den entsprechenden Header für den XML Feed gesetzt? Hier gab's im Forum mal 'nen kurzen Hack mit den echte XML Dateien ausgeliefert wurden (oder geht das mittlerweile direkt?). Das war unter http://www.feedvalidator.org/ immer der einzige Fehler der ansonsten bei RSS über Content_Dump bemängelt wurde.

Beste Grüße
Nils

Re: Image- und Thumbnail-Wert aus Optionstab mit Content_Dump auslesen

Posted: Mon Apr 27, 2009 12:17 pm
by Sonya
Hallo Nils,

ich benutze Plugin zusammen mit dem Modul CGFeedMaker. Dafür habe folgendes Template im Modul definiert:

Code: Select all

<?xml version="1.0"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
  <atom:link href="{$feed_url}" rel="self" type="application/rss+xml" />
    <title>{$feed.title}</title>
    <link>{$feed.link}</link>
   <description>{$feed.description}</description>
    {if isset($feed.image) && !empty($feed.image)}
      <image>
	<description>{$feed.description}</description>
        <link>{$feed.link}</link>
        <title>{$feed.title}</title>
        <url>{$file_location}/{$feed.image}</url>
      </image>
    {/if}

{* Content*}
{content_dump limit_count=10 first_sort="created" first_sort_order="down"}
{foreach from=$dump item=dump}
<item>
<title>{$dump->content->title|escape:"html"}</title>
<link>{cms_selflink href=$dump->content->alias}</link>
<description>
<![CDATA[
<img src="{$dump->extensions->thumbnail->data}" alt="" align="left" />
{$dump->content->data|trim|strip_tags|summarize:70}
]]></description>
<pubDate>{$dump->created->date|rfc_date}</pubDate>
<guid>{cms_selflink href=$dump->content->alias}</guid>
</item>
{/foreach}
Ich habe kein Problem mit der Validierung vom Feed über http://www.feedvalidator.org/ . Und die Thumbnails sind jetzt auch drin. Welche Probleme gibt es bei der Validierung? Das höre ich immer wieder, dass es da Probleme geben sollte, aber selbst noch keine gehabt.

Eine weitere Möglichkeit, für die ich {content_dump} jetzt einsetzen werde, ist die Ausgabe der neuen Artikel auf der Startseite ähnlich News Summary mit den Thumbnails, z. B.:

Code: Select all

{content_dump limit_count=3 first_sort="created" first_sort_order="down"}
{foreach from=$dump item=dump}
<h1>{$dump->content->title}</h1>
<p><img src="{$dump->extensions->thumbnail->data}" alt="{$dump->content->title}" align="left" />
{$dump->content->data|trim|strip_tags|summarize:70} ... 
{cms_selflink href=$dump->content->alias text="Weiterlesen"}</p>
{/foreach}
Sonya

Re: Image- und Thumbnail-Wert aus Optionstab mit Content_Dump auslesen

Posted: Mon Apr 27, 2009 2:49 pm
by nhaack
Hi Sonya,

interessante Combo mit dem CGFeedmaker Modul. Ich habe die RSS Feeds bis jetzt immer in einem regulären Content-Template mit XML Markup erstellt. Daher wahrscheinlich dann auch der Validierungsfehler der den Hack notwendig machte (falscher Datei-Format Header). Die von dir verwendete Kombination muss ich mir mal angucken. Auf jeden Fall interessant. Danke für das posten des Templates!

Ich sehe, dass du "|strip" auf den Content anwendest - HTML und Smarty Stripping kann auch direkt über Content-Dump geleistet werden (weniger Anweisungen im Smarty Template notwendig). Wobei dies keinen großen Unterschied macht. Allerdings unterstützt das Content_Dump HTML Stripping zusätzlich Javascript und CSS damit der String wirklich clean ist. Dazu einfach den Parameter html="strip" verwenden.

Vielleicht ist es ja für dich noch irgendwie nützlich.

Beste Grüße
Nils

Re: Image- und Thumbnail-Wert aus Optionstab mit Content_Dump auslesen

Posted: Mon Apr 27, 2009 3:09 pm
by Sonya
nhaack wrote: Allerdings unterstützt das Content_Dump HTML Stripping zusätzlich Javascript und CSS damit der String wirklich clean ist. Dazu einfach den Parameter html="strip" verwenden.
Tja, in der Hinsicht bin ich wohl ein "Purist". Jegliches CSS gehört für mich in Stylesheet und da ich mit JQuery im Kopfbereich arbeite, brauche ich auch kein JavaScript im Content :) Macht das Leben leichter.
nhaack wrote: Vielleicht ist es ja für dich noch irgendwie nützlich.
Für mich weniger, aber für meine "nicht puristischen" Kunden allemal. :) Danke für Deinen Tipp!