Franz Holzinger

Verse of the day

Denn es ist ein Gott und ein Mittler zwischen Gott und den Menschen, nämlich der Mensch Christus Jesus, der sich selbst gegeben hat für alle zur Erlösung, daß solches zu seiner Zeit gepredigt würde;
1 Timotheus 2:5-6

© Bible Gateway's Verse of the Day


autor  
9-05-14 14:46:31 Single Ansicht, Titel für Link bei Clickenlarge und ALT für Bilder
Daniel Pfisterer
Hallo an Alle, Hallo Franz,

erstmal möchte ich mich für die super Extension bedanken die Ihr schon seit langem auf die Beine gestellt hab.

Ich benutze sie jetzt schon seit einer Weile nur irgendwie fehlen mir bei der Anzeige der Produktbildern ein paar wichtige SEO Maßnamen. Seit Tagen versuch ich hier mit typoscript eine lösung zu finden. Man muss dazu sagen, das ich nicht zwangsläufig ein Crack bin, aber es in den Grundlagen Verstehe.
Vielleicht kann mir einer von euch helfen mich wider auf den richtige Pfad zu bringen.

So soll es mal aussehen wenn es Generiert ist.

<a rel="lightbox[lb111]" title="Titel 1" href="bild1.jpg"><img alt="ALT Text 1" src="bild1.jpg"></a>
<a rel="lightbox[lb111]" title="Titel 2" href="bild1.jpg"><img alt="ALT Text 1" src="bild1.jpg"></a>
<a rel="lightbox[lb111]" title="Titel 3" href="bild1.jpg"><img alt="ALT Text 1" src="bild1.jpg"></a>

Da ich einige Felder der Flexform für die Darstellung der einzelnen Produkte nicht benötig habe ich mir gedacht, ich könnte diese verwenden um hier in Komma seperierten listen die Infos für die jeweiligen bildern zu splitten.

Hierzu habe ich den plugin.tt_products.image.linkwrap array ein wenig verändert. Erst mal um die Atagparams für die lightbox zu bekommen und ein wasserzeichen einzusetzen, was auch kein problem ist, da ich für die jeweiligen bilder keine zuweisung brauche. Wenn ich jedoch versuche den jeweiligen bildern die titel, bzw, Alt texte, die ich aus dem split habe, zuzuweisen, stosse ich an meine grenze, da immer nur das erste array des split den bildern zugewiesen wird.

Hier einer meiner TS Verusche der meiner meinung am nächsten ist.

temp.imageLinkWrap = 1
temp.imageLinkWrap {
stdWrap = stdWrap
enable = 1
typolink {
title.override.cObject = COA
title.override.cObject {
10 = TEXT
10{
data {
data = GP:tt_products|product
intval = 0
wrap = DB:tt_products: | :image
}
split{
token = ,
cObjNum = 1
1.current = 1
1.wrap = |
1.append = TEXT
1.append {
data {
data = GP:tt_products|product
intval = 1
wrap = DB:tt_products: | :quality
}
listNum.stdWrap.data = REGISTER:SPLIT_COUNT
listNum.splitChar = 10
}
}
}
}
title.override.if.isTrue = 1
title.insertData = 1
parameter.cObject = IMG_RESOURCE
parameter.cObject.file.import.data = TSFE:lastImageInfo|origFile
}
}

plugin.tt_products {
usePageContentImage = 0
imageLinkWrap = 1
image {
wrap = <div class="img_single"> | </div>
altText = TEXT
altText.data = field:title
imageLinkWrap >
imageLinkWrap < temp.imageLinkWrap
}
}

Vielleicht gibt es ja bereits eine lösung oder ich bin komplett auf dem Holzweg und seh den Wald vor lauter Arrays nicht.

Vielen Dank für euer Bemühungen.
Liebe Grüße Daniel
9-05-14 17:11:02 3 mal dasselbe Bild
Franz Holzinger
Soll hier dasselbe Bild 3 mal hintereinander mit verschiedenen Titel Texten im Link angezeigt werden?
Vermutlich sollte man das irgendwie anders innerhalb von tt_products lösen, z.B. unter Einbeziehung des FAL. Beim Thema "wrap", "split" und "REGISTER" kann ich nicht weiterhelfen.
9-05-14 17:19:00 3mal das selbe Bild
Daniel Pfisterer
Ups, sorry nein, da hab ich vergessen meine "von Gutenberg Methode" zu ändern.

Meinte Natürlich:
<a rel="lightbox[lb111]" title="Titel 1" href="bild1.jpg"><img alt="ALT Text 1" src="bild1.jpg"></a>
<a rel="lightbox[lb111]" title="Titel 2" href="bild2.jpg"><img alt="ALT Text 2" src="bild1.jpg"></a>
<a rel="lightbox[lb111]" title="Titel 3" href="bild3.jpg"><img alt="ALT Text 3" src="bild1.jpg"></a>

FAL bedeutet was?
9-05-14 17:59:20 3mal das selbe Bild
Franz Holzinger
Der src-Teil des Img Tags hat weiterhin 3 mal dasselbe Bild.

FAL: File Abstraction Layer. Seit TYPO3 6.0 mit dabei. Es soll die DAM Extension ersetzen.
10-05-14 11:35:41 File Abstraction Layer
Daniel Pfisterer
Hallo Franz,

vielen Dank für deine Antwort. Und noch einmal entschuldigung für meine Nachlässigkeit, es sollen Natürlich 3 unterschiedliche Bilder Angezeigt werden.

Das Shop System in der aktuellen version aus dem TER unterstützt FAL noch nicht, richtig? Kann das die 2.10er? Wird das zukünftig unterstützt?

Da bleibt mir wohl nicht viel anderes über als das ganze dann doch statisch zu lösen und eigene marker zu verwenden.

meinst du dich kann "plugin.tt_products.conf.tt_products.ALL.image.m= ..." etwas anfangen? Jeweils für die jeweiligen bildern?

also in dem fall:
"plugin.tt_products.conf.tt_products.ALL.image.Bild-1 = ..." für den Marker ###PRODUCT_IMAGE:Bild-1### ... etc.

oder soll ich da anders ansetzen, was wäre in dem Fall am sinnvollsten um nicht ganz von der tt_products grundlage abzuweichen?

Vielen Dank nochmal für deine Hilfe!

LG Daniel
10-05-14 13:04:30 FAL
Franz Holzinger
Ich gebe keine Prognose, inwieweit tt_products in Zukunft auch Marker für die Bilder über das File Abstraction Layer anbieten wird. Bisher ist das nicht implementiert, weil das FAL in TYPO3 6.1 zu fehlerhaft ist. Und TYPO3 6.2 läuft derzeit nicht unter Debian. Vielleicht wird es eines Tages die Dam Extension auch für TYPO3 6.2 geben. Dann könnte man die DAM Marker aus tt_products für jedes Bild nutzen.

Über "plugin.tt_products.conf.tt_products.ALL.image.m= ..." kann man für jedes Bild ein zusätzliches Setup definieren. Ich weiß aber nicht, inwieweit das für die Lösung dieses Problems weiterhelfen kann.
10-05-14 19:13:20 "plugin.tt_products.conf.tt_products.ALL.image.m= ..."
Daniel Pfisterer
Ja da war ich wieder auf dem Holzweg.

Es wäre natürlich toll, wenn tt_products die rudimentärsten SEO Grundlagen ab Typo3 6.x unterstützen würde, dafür würde ich narürlich auch bezahlen. Aber schauen wir mal wie es sich entwickelt.

Nun hab ich ich entlich auch eine Lösung gefünden, es ist zwar nicht die Sauberste, aber man damit Arbeiten, wenn jemand verbesserungsvorschläge hat, immer her damit.

Ich verwende hierfür einige Datenbankfelder, die ich für die Darstellung meiner Artikel nicht benötige. Natürlich kann man über umwege auch weitere Felder zur Flexform hinzufügen, aber ich wollte an der Extension nichts veränder, wegen der Update kompatibilität. Vielleicht kann ich ja hiermit einigen leidtragenden helfen, bis es wieder DAM unterstützung gibt.

Um das Ganze dann Darzustellen erstelle ich seperate Marker die ich Template verwenden kann.

[ts]
plugin.tt_products {
templateFile = fileadmin/template/html/partial/ext/dein-tmpl.html
wrapInBaseClass = 0

limitImageSingle = 6
separateImage = 1
image {
altText >
altText = TEXT
altText.data = field:title
imageLinkWrap >
}
listImage {
file.maxW = 300
file.maxH =
altText >
altText = TEXT
altText.data = field:title
imageLinkWrap >
}

marks {
bild01 = COA
bild01 {
1 = RECORDS
1{
source = {GP:tt_products|product}
source.insertData = 1
tables = tt_products
conf.tt_products >
conf.tt_products = COA
conf.tt_products {
1 = IMAGE
1 {
wrap = <div class="img_single"> | </div>
file {
width = 300m
import = uploads/pics/
import.field = image
import.listNum = 0
}
altText = TEXT
altText {
field = description
stripHtml = 1
split.token.char = 10
split.cObjNum = 1
split.returnKey = 0
}

imageLinkWrap = 1
imageLinkWrap {
enable = 1
width = 800m
typolink {

parameter.cObject = IMG_RESOURCE
parameter.cObject.file.import.data = TSFE:lastImageInfo|origFile
parameter.cObject.file.maxW = {$plugin.perfectlightbox.lightBoxMaxW}
parameter.cObject.file.maxH = {$plugin.perfectlightbox.lightBoxMaxH}

parameter.override {
cObject = IMG_RESOURCE
cObject.file = GIFBUILDER
cObject.file.format = jpg
cObject.file.XY = [10.w],[10.h]
cObject.file.10 = IMAGE
cObject.file.10.file.import.data = TSFE:lastImageInfo|origFile
cObject.file.10.file.maxW = {$plugin.perfectlightbox.lightBoxMaxW}
cObject.file.10.file.maxH = {$plugin.perfectlightbox.lightBoxMaxH}
cObject.file.20 = TEXT
cObject.file.20 {
offset = 10, 20
text {
field = description
split.token.char = 10
split.cObjNum = 1
split.returnKey = 6
noTrimWrap = |© | |
}
align = left
fontSize = 12
fontColor= #000000
opacity = 80
niceText = 1
}
}

title >
title.cObject = TEXT
title.cObject {
field = description
stripHtml = 1
split.token.char = 10
split.cObjNum = 1
split.returnKey = 0

insertData = 1
}

ATagParams >
ATagParams.cObject = COA
ATagParams.cObject {
10 = TEXT
10.value = rel="lightbox[lb{field:uid}]"
}
}
}
}
}
}
}
bild02 < .bild01
bild02.1.conf.tt_products.1 {
file.import.listNum = 1
altText.split.returnKey = 1
imageLinkWrap.typolink.title.cObject.split.returnKey = 1
imageLinkWrap.typolink.parameter.override.cObject.file.20.text.split.returnKey = 7
}
bild03 < .bild01
bild03.1.conf.tt_products.1 {
file.import.listNum = 2
altText.split.returnKey = 2
imageLinkWrap.typolink.title.cObject.split.returnKey = 2
imageLinkWrap.typolink.parameter.override.cObject.file.20.text.split.returnKey = 8
}
bild04 < .bild01
bild04.1.conf.tt_products.1 {
file.import.listNum = 3
altText.split.returnKey = 3
imageLinkWrap.typolink.title.cObject.split.returnKey = 3
imageLinkWrap.typolink.parameter.override.cObject.file.20.text.split.returnKey = 9
}
bild05 < .bild01
bild05.1.conf.tt_products.1 {
file.import.listNum = 4
altText.split.returnKey = 4
imageLinkWrap.typolink.title.cObject.split.returnKey = 4
imageLinkWrap.typolink.parameter.override.cObject.file.20.text.split.returnKey = 10
}
bild06 < .bild01
bild06.1.conf.tt_products.1 {
file.import.listNum = 5
altText.split.returnKey = 5
imageLinkWrap.typolink.title.cObject.split.returnKey = 5
imageLinkWrap.typolink.parameter.override.cObject.file.20.text.split.returnKey = 11
}
}
}
[/ts]

Im Template rufe ich dann unter dem Subpart ITEM_SINGLE die bilder mit den jeweiligen Markern auf: ###BILD01###!

Vielen Dank Franz und ich hoffe ich kann anderen hiermit auch eine Hilfe sein.

Liebe Grüße Daniel
< Zurück zum Forum