Page 1 of 1
Dynamischer Alt-Text im Content_Image Tag einfügen?
Posted: Mon Nov 22, 2010 10:07 am
by JamieFraser
Hi,
wie kann ich in dem content_image Tag einen dynamischen (z.B. Bildnamen) ALT Texteinfügen?
Danke
Re: Dynamischer Alt-Text im Content_Image Tag einfügen?
Posted: Mon Nov 22, 2010 5:22 pm
by NaN
Eigentlich garnicht.
Du könntest höchstens {content_image urlonly=true} verwenden und das Bild dann im Template selber anzeigen. Das alt-Attribut kannst Du dann über ein extra content block angeben.
Bsp:
Code: Select all
{content block="img1_alt" label="Alternativtext Bild 1" oneline="true" assign="img1_alt"}
{content block="img1_title" label="Titel Bild 1" oneline="true" assign="img1_title"}
{content_image block="img1_url" dir="images" urlonly=true assign="img1_url"}
{if $img1_url != ''}
<img src="{$img1_url}"{if $img1_alt != ''} alt="{$img_alt}"{/if}{if $img1_title != ''} title="{$img_title}"{/if} width="120" height="200" />
{/if}
Re: Dynamischer Alt-Text im Content_Image Tag einfügen?
Posted: Mon Nov 22, 2010 9:09 pm
by JamieFraser
Hab gerade gesehen, dass man bei der Dateiverwaltung gar keinen extra Text zu einem Bild angeben kann. Wäre das möglich, hätte man ja das Script von content_image umschreiben können, damit man diesen Text auslesen kann.
Deinen Vorschlag muss ich mir mal angucken und verstehen

Re: Dynamischer Alt-Text im Content_Image Tag einfügen?
Posted: Mon Nov 22, 2010 10:10 pm
by JamieFraser
Die Variable, die durch das - assign - entsteht, kann ich nicht direkt in das content_image einbauen?
Wenn ich ein zusätzliches - content - Feld einbaue, in welches ich den Alt-Text eingeben kann. Könnte ich diese Daten doch in das - content_image - Feld einfügen, oder?
Code: Select all
{content_image block='ContentImage' label='Bild Kopfbereich' dir='images/ContentTop' alt='$contentBild'}
{content block='Bildtext' oneline='true' assign=contentBild}
So habe ich das versucht, aber funktioniert nicht

Ist für mich Neuland.
Re: Dynamischer Alt-Text im Content_Image Tag einfügen?
Posted: Mon Nov 22, 2010 10:23 pm
by NaN
Stimm. Prinzipiell hast Du da recht. Ist sogar noch viel einfacher als meine Variante.
Allerdings ist bei Dir die Reihenfolge falsch. Die Templates werden zeilenweise von oben nach unten abgearbeitet. D.h. die Variable {$contentBild} existiert erst
nach dem {content} Aufruf. Alles was davor passiert kennt keine solche Variable. Also dreh es einfach um:
Code: Select all
{content block='Bildtext' oneline='true' assign=contentBild}
{content_image block='ContentImage' label='Bild Kopfbereich' dir='images/ContentTop' alt='$contentBild'}
Re: Dynamischer Alt-Text im Content_Image Tag einfügen?
Posted: Tue Nov 23, 2010 12:04 am
by JamieFraser
Super, funktioniert
Jetzt kann man zum Bild einen ALT Text extra eingeben. Es muss aber genau so heissen
Code: Select all
{content block='Bildtext' oneline='true' assign=contentBild}
{content_image block='ContentImage' label='Bild Kopfbereich' dir='images/ContentTop' alt="$contentBild"}
beim ALT Tag gehören " " hin.
Ist es möglich, die Reihenfolge, der zusätzlich eingefügten Felder, bei der Seiteneingabe zu ändern?
Das DropDown-Feld für die Bilder ist unterhalb des normalen Content-Feldes. Das Feld für den ALT-Text ist darüber.
Re: Dynamischer Alt-Text im Content_Image Tag einfügen?
Posted: Tue Nov 23, 2010 10:55 am
by NaN
Das ist eine Eigenart des Inhaltstypen.
Die lässt sich leider nicht ändern, ohne etwas am PHP Code zu ändern.
Der Inhaltstyp verarbeitet erst alle "normalen" {content} Blöcke, danach alle {content_image} Blöcke und zum Schluss alle {content_module} Blöcke.
Als Alternative könntest Du das AdvancedContent Module verwenden.
Dort werden alle Blöcke (egal welcher Art) in genau der Reihenfolge angezeigt wie sie im Template stehen. (läuft ab Version 0.7 nur ab CMSms 1.9)