Discussion:
[TYPO3-german] tt_news und Images - Formatierung
Mike Adlmannseder
2010-05-25 11:13:08 UTC
Permalink
Hallo und Mahlzeit

Ich versuche die Bilder in der Single Ansicht von tt_news zu formatieren,
und zwar m?chte ich ein 3-spaltiges Layout realisieren (?hnlich wie wenn
man einen Seiteninhalt vom Typ Bild anlegt.

Hier mein TS

# --------------------------------------------------------------------------
# --- tt_news plugin konfigurieren
plugin.tt_news {
displaySingle {
imageCount = 6
date_stdWrap.strftime = %A, %d. %B %Y
time_stdWrap.strftime = %d.%m.%y %H:%M

imageWrapIfAny = <div class="csc-textpic-imagerow">|</div>

image.stdWrap.cObject = COA
image.stdWrap.cObject {
10 = LOAD_REGISTER
10.imageindex.cObject = TEXT
10.imageindex.cObject.data = register:imageindex
10.imageindex.cObject.wrap = |+1
10.imageindex.prioriCalc = intval

20 = CASE
20.key.cObject = TEXT
20.key.cObject.data = register:imageindex
# --- berechnung per modulo
20.key.cObject.wrap = |%3
20.key.prioriCalc = intval

20.default = IMAGE
20.default.wrap = <dl class="csc-textpic-image"><dt>|</dt>

20.0 = IMAGE
20.0.wrap = <dl class="csc-textpic-image csc-textpic-lastcol"><dt>|</dt>
}
}
}

Mittels eines Code-Schnippsels das ich auf einer anderen Webseite gefunden habe
versuche ich ?ber ein Modulo jedes dritte Bild alternativ zu wrappen.
Au?erdem h?tte ich gerne nach jedem dritten Bild ein eigene Row aufgemacht...
Allerdings funktioniert es nicht und ich stehe auch dem Schlauch.

Wo muss ich mit dem Case ansetzen?
Wie bekomme ich das aktuelle Bild in den Wrap?

Vielen Dank f?r jeden Tipp!
snorre
Mike Adlmannseder
2010-05-26 08:26:54 UTC
Permalink
Post by Mike Adlmannseder
Hallo und Mahlzeit
Ich versuche die Bilder in der Single Ansicht von tt_news zu formatieren,
und zwar m?chte ich ein 3-spaltiges Layout realisieren (?hnlich wie wenn
man einen Seiteninhalt vom Typ Bild anlegt.
Hier mein TS
#
--------------------------------------------------------------------------
# --- tt_news plugin konfigurieren
plugin.tt_news {
displaySingle {
imageCount = 6
date_stdWrap.strftime = %A, %d. %B %Y
time_stdWrap.strftime = %d.%m.%y %H:%M
imageWrapIfAny = <div class="csc-textpic-imagerow">|</div>
image.stdWrap.cObject = COA
image.stdWrap.cObject {
10 = LOAD_REGISTER
10.imageindex.cObject = TEXT
10.imageindex.cObject.data = register:imageindex
10.imageindex.cObject.wrap = |+1
10.imageindex.prioriCalc = intval
20 = CASE
20.key.cObject = TEXT
20.key.cObject.data = register:imageindex
# --- berechnung per modulo
20.key.cObject.wrap = |%3
20.key.prioriCalc = intval
20.default = IMAGE
20.default.wrap = <dl class="csc-textpic-image"><dt>|</dt>
20.0 = IMAGE
20.0.wrap = <dl class="csc-textpic-image csc-textpic-lastcol"><dt>|</dt>
}
}
}
Mittels eines Code-Schnippsels das ich auf einer anderen Webseite gefunden habe
versuche ich ?ber ein Modulo jedes dritte Bild alternativ zu wrappen.
Au?erdem h?tte ich gerne nach jedem dritten Bild ein eigene Row aufgemacht...
Allerdings funktioniert es nicht und ich stehe auch dem Schlauch.
Wo muss ich mit dem Case ansetzen?
Wie bekomme ich das aktuelle Bild in den Wrap?
Vielen Dank f?r jeden Tipp!
snorre
_______________________________________________
TYPO3-german mailing list
TYPO3-german at lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Hallo nochmal!

Ich bin jetzt so weit fortgeschritten

image.wrap >
image.wrap = <dl class="csc-textpic-image"><dt>|</dt>

tmp.register = LOAD_REGISTER
tmp.register {
imageindex.cObject = TEXT
imageindex.cObject.data = register:imageindex
imageindex.cObject.wrap = |+1
imageindex.prioriCalc = intval
}
tmp.image = CASE
tmp.image {
key.cObject = TEXT
key.cObject.data = register:imageindex
key.cObject.wrap = |%3
key.prioriCalc = intval

default < plugin.tt_news.displaySingle.image
0 < .default
0.wrap = <dl class="csc-textpic-image csc-textpic-lastcol"><dt>|</dt>
}
image >
image < plugin.tt_news.displaySingle.tmp.image

Aber auch das funktioniert leider nicht??
Die Bilder werden viel zu gro? angezeigt, und die Wrap's sind nicht vorhanden??

DANKE f?r den Tipp, der mich auf die richtige Bahn bringt!
snorre
Mike Adlmannseder
2010-05-26 12:16:28 UTC
Permalink
Ich komm und komm einfach nicht dahinter!!!
Der Objekt Browser sieht doch eigentlich gut aus, oder???
Ist das CASE hier richtig implementiert?

[image] = CASE
[0]
[file]
[maxW] = 176
[maxH] = 176
[imageLinkWrap] = 1
[enable] = 1
[bodyTag] = <body bgColor="#ffffff" style="ma...
[wrap] = <a href="javascript:close();"> | </a>
[width] = 800m
[height] = 600
[JSwindow] = 1
[wrap] = <test>|</test> # altText = TEXT # altText { # field = imagealttext
# stripHtml = 1 # split.token.char = 10 # split.token.if.isTrue = 1 #
split.returnKey.data = register : IMAGE_NUM_CURRENT # } # titleText < .altText #
titleText.field = imagetitletext
[key]
[cObject] = TEXT
[data] = register:imageindex
[wrap] = |%3
[prioriCalc] = intval
[default]
[file]
[maxW] = 176
[maxH] = 176
[imageLinkWrap] = 1
[enable] = 1
[bodyTag] = <body bgColor="#ffffff" style="ma...
[wrap] = <a href="javascript:close();"> | </a>
[width] = 800m
[height] = 600
[JSwindow] = 1
[wrap] = <test2>|</test2> # altText = TEXT # altText { # field =
imagealttext # stripHtml = 1 # split.token.char = 10 # split.token.if.isTrue = 1
# split.returnKey.data = register : IMAGE_NUM_CURRENT # } # titleText < .altText
# titleText.field = imagetitletext

-------------------------------------------------------
Und hier noch einmal mein aktueller Code:

plugin.tt_news {
templateFile= fileadmin/maweb10_newstemplates/news_list_template.html
excludeAlreadyDisplayedNews = 0
imageMarkerFunc >
imageMarkerFunc = tx_perfectlightbox->ttnewsImageMarkerFunc
displayList {
date_stdWrap.strftime = %A, %d. %B %Y
time_stdWrap.strftime = %d.%m.%y %H:%M
}
displaySingle {
imageCount = 6
date_stdWrap.strftime = %A, %d. %B %Y
time_stdWrap.strftime = %d.%m.%y %H:%M

imageWrapIfAny = <div class="csc-textpic-imagerow">|</div>

image.wrap >

temp.register = LOAD_REGISTER
temp.register {
imageindex.cObject = TEXT
imageindex.cObject.data = register:imageindex
imageindex.cObject.wrap = |+1
imageindex.prioriCalc = intval
}

temp.copyimage = CASE
temp.copyimage {
key.cObject = TEXT
key.cObject.data = register:imageindex
key.cObject.wrap = |%3
key.prioriCalc = intval

default < plugin.tt_news.displaySingle.image
default.wrap = <test>|</test>

0 < plugin.tt_news.displaySingle.image
0.wrap = <test2>|</test2>
}
image >
image < plugin.tt_news.displaySingle.temp.copyimage
}
}

-------------------------------------------------------

Kann mir denn wirklich NIEMAND einen Denkanstoss geben?
Ich spiele mich jetzt schon tagelang mit diesem Problem :(

DANKE!
snorre
JoH asenau
2010-05-26 13:20:04 UTC
Permalink
Post by Mike Adlmannseder
plugin.tt_news {
temp.copyimage = CASE
image < plugin.tt_news.displaySingle.temp.copyimage
}
}
Sowas geht schon mal prinzipiell nicht, weil Du ein temp.blah Objekt IN
einem anderen Objekt (plugin.tt_news) anlegst.

Entweder Du legst das temp.blah au?erhalb als eigenes Objekt an, was aber
nur Sinn macht, wenn Du es
a) mehr als einmal nutzen willst oder
b) es in einem separaten TS Template Record bearbeiten willst
oder Du baust das, was Du unter temp.blah geschrieben hast direkt nach
image> ein.

Wobei Du aus dem "image" innerhalb der Single-Ansicht von tt_news sowieso
nicht so einfach ein CASE Objekt machen kannst, weil das prinzipiell erstmal
nach einem fest verdrahteten IMAGE aussieht. L?schen und ?berschreiben geht
da eher weniger. Du k?nntest aber versuchen, das so zu "?berschreiben":

image.stdWrap.cObject = CASE
image.stdWrap.cObject {
#hier dein Setup
}

Versuch macht kluch ;-)

Joey
--
Wenn man keine Ahnung hat: Einfach mal Fresse halten!
(If you have no clues: simply shut your gob sometimes!)
Dieter Nuhr, German comedian
Xing: http://contact.cybercraft.de
Twitter: http://twitter.com/bunnyfield
TYPO3 cookbook (2nd edition): http://www.typo3experts.com
Mike Adlmannseder
2010-05-26 14:06:36 UTC
Permalink
Hallo Joey,

danke f?r deine Tipps!
Habe jetzt Folgendes probiert - leider ebenfalls OHNE Erfolg...

temp.register = LOAD_REGISTER
temp.register {
imageindex.cObject = TEXT
imageindex.cObject.data = register:imageindex
imageindex.cObject.wrap = |+1
imageindex.prioriCalc = intval
}

image.stdWrap.cObject = CASE
image.stdWrap.cObject{
key.cObject = TEXT
key.cObject.data = register:imageindex
key.cObject.wrap = |%3
key.prioriCalc = intval

default = TEXT
default.value = <test>|</test>

0 < .default
0.value = <test2>|</test2>
}

Sieht das f?r dich jetzt besser aus?

Danke
snorre
JoH asenau
2010-05-26 14:46:23 UTC
Permalink
Post by Mike Adlmannseder
Habe jetzt Folgendes probiert - leider ebenfalls OHNE Erfolg...
temp.register = LOAD_REGISTER
temp.register {
imageindex.cObject = TEXT
imageindex.cObject.data = register:imageindex
imageindex.cObject.wrap = |+1
imageindex.prioriCalc = intval
}
image.stdWrap.cObject = CASE
image.stdWrap.cObject{
key.cObject = TEXT
key.cObject.data = register:imageindex
key.cObject.wrap = |%3
key.prioriCalc = intval
default = TEXT
default.value = <test>|</test>
0 < .default
0.value = <test2>|</test2>
}
Sieht das f?r dich jetzt besser aus?
Wo befindet sich das temp.register?
Wie wird das aufgerufen (weil ohne Aufruf => kein Register)?
Was bezweckst Du ?berhaupt mit diesem Ansatz?

HTH

Joey
--
Wenn man keine Ahnung hat: Einfach mal Fresse halten!
(If you have no clues: simply shut your gob sometimes!)
Dieter Nuhr, German comedian
Xing: http://contact.cybercraft.de
Twitter: http://twitter.com/bunnyfield
TYPO3 cookbook (2nd edition): http://www.typo3experts.com
Mike Adlmannseder
2010-05-27 05:43:05 UTC
Permalink
Hallo Joey, hallo Userlist,

also angeschaut habe ich mir folgendes Snippet:
http://typo3.intervation.de/snippets/tt-content/content-abwechselnd-wrapen.html

Ich m?chte Folgendes umsetzen.
Wenn du einen Seiteninhalt vom Typ Bild anlegst, dann kannst du einstellen wie
vielen Spalten Bilder du haben m?chtest. Auf Grund dessen werden die Bilder
mit verschiedenen Klassen versehen (csc-textpic-image csc-textpic-lastcol, ...)
Damit wird erreicht, dass z.B.: das Bild ganz rechts kein padding mehr hat und
man somit die volle Seitenbreite f?r die Bilder ausnutzen kann.

Genau dieses Layout m?chte ich auch f?r die Single-Ansicht von tt_news verwenden
und die Bilder nicht rechts einfach untereinander, sondern unter dem Detailtext
horizontal anordnen. Und da auch hier das rechte Bild eine andere Klasse
erhalten soll, muss ich jedes 3te Bild verschieden wrappen...

Dieser Teil hier

image.stdWrap.cObject = CASE
image.stdWrap.cObject{
key.cObject = TEXT
key.cObject.data = register:imageindex
key.cObject.wrap = |%3
key.prioriCalc = intval

sollte einen Modulo von 3 darstellen und jedes 3te Bild verschieden wrappen,
also default und 0

default = TEXT
default.value = <test>|</test>
0 < .default
0.value = <test2>|</test2>

was halt nicht funktioniert ;)

Dieser Teil hier (so wie ich das verstehe)

temp.register = LOAD_REGISTER
temp.register {
imageindex.cObject = TEXT
imageindex.cObject.data = register:imageindex
imageindex.cObject.wrap = |+1
imageindex.prioriCalc = intval
}

sollte doch eigentlich nur eine Variable darstellen die bei jedem Durchlauf
um 1 erh?ht wird und nachher mit

key.cObject.data = register:imageindex

dem CASE zugeordnet wird, oder habe ich da etwa Dinge komplett falsch verstanden?

Also zu deinen Fragen

Wo befindet sich das temp.register?
Wie wird das aufgerufen (weil ohne Aufruf => kein Register)?
Da habe ich offensichtlich etwas nicht verstanden, weil auf dem
oben gezeigten Link/Snippet wird doch auch nix aufgerufen, oder?
Was bezweckst Du ?berhaupt mit diesem Ansatz?
Siehe meine Ausf?hrungen oben
DANKE!
snorre
Andreas Siemer
2010-05-27 07:35:39 UTC
Permalink
Post by Mike Adlmannseder
Ich m?chte Folgendes umsetzen.
Wenn du einen Seiteninhalt vom Typ Bild anlegst, dann kannst du einstellen wie
vielen Spalten Bilder du haben m?chtest. Auf Grund dessen werden die Bilder
mit verschiedenen Klassen versehen (csc-textpic-image
csc-textpic-lastcol, ...)
Damit wird erreicht, dass z.B.: das Bild ganz rechts kein padding mehr hat und
man somit die volle Seitenbreite f?r die Bilder ausnutzen kann.
Genau dieses Layout m?chte ich auch f?r die Single-Ansicht von tt_news verwenden
und die Bilder nicht rechts einfach untereinander, sondern unter dem Detailtext
horizontal anordnen. Und da auch hier das rechte Bild eine andere Klasse
erhalten soll, muss ich jedes 3te Bild verschieden wrappen...
Bei dem Typoscript-Ansatz kann ich Dir nicht weiter helfen, ABER:

Es gibt f?r tt_news die erg?nzende Erweiterung "Content elements in
tt_news" (rgnewsce) von Krystian Szymukowicz und Georg Ringer. Damit
kannst Du alle ?blichen CE in tt_news nutzen, also auch die M?glichkeit,
Bilder in Spalten nebeneinander anzuordnen. Die Bilder sind genau wie in
?blichen CE mit Klassen versehen.

Vielleicht ist das ein Weg f?r Dein Problem?

Andreas
Mike Adlmannseder
2010-05-27 08:26:54 UTC
Permalink
Hallo Andreas,

danke f?r den Tipp!
Allerdings ist die Extension nicht kompatibel mit Typo3 Version 4.3.3...
Zumindest sagt mir das Backend das, wenn ich sie importieren m?chte.
Und die Userkommentare auf der Webseite von Georg Ringer sind ja nicht gerade
prickelnd...

Hast du die Extension in Verwendung?

Danke
snorre
Andreas Siemer
2010-05-27 08:57:17 UTC
Permalink
Post by Mike Adlmannseder
Hallo Andreas,
danke f?r den Tipp!
Allerdings ist die Extension nicht kompatibel mit Typo3 Version 4.3.3...
Zumindest sagt mir das Backend das, wenn ich sie importieren m?chte.
Und die Userkommentare auf der Webseite von Georg Ringer sind ja nicht
gerade prickelnd...
Hast du die Extension in Verwendung?
Danke
snorre
Hi Snorre,
ich habe die Extension urspr?nglich in einer ?lteren Version mit TYPO3
4.2 und tt_news 2.5.? installiert und sie lief wie sie sollte.

Und auch seit einem Update vor zwei Wochen, TYPO3 4.3.3, tt_news 3.0.1,
rgnewsce 0.1.1, habe ich bisher keine Probleme festgestellt.
Die Warnung im BE habe ich nicht gehabt, da ich erst die Updates der
Extensions und dann das TYPO3-Update durchgef?hrt habe.

Kann denn schlimmes passieren, wenn man das "Ignore version
requirement"-H?kchen setzt?

Wie auch immer - viel Erfolg!

Andreas
Mike Adlmannseder
2010-05-27 16:25:05 UTC
Permalink
Hallo Andreas,

habe die Extension nun ausf?hrlich getestet und muss sagen, das w?re
eigentlich genau das,
was ich mir vorgestellt habe. Allerdings rendert/wrapped die Extension
alle Bilder in der
Singleansicht mit ul und li, OBWOHL ich in meinem TS

tt_content.image.20.renderMethod = dl

stehen habe? Wei?t du oder jemand anderes warum dem so ist?
Ich finde im Object Browser leider keine M?glichkeit das umzustellen,
AUSSER ich
kopiere beinhart das dl nach ul, also

tt_content.image.20 {
renderMethod = dl

rendering {
dl {
imageRowStdWrap.dataWrap = <div class="csc-textpic-imagerow">|</div>
imageLastRowStdWrap.dataWrap = <div class="csc-textpic-imagerow
csc-textpic-imagerow-last">|</div>
noRowsStdWrap.wrap =
oneImageStdWrap.dataWrap = <dl class="csc-textpic-image###CLASSES###">|</dl>
imgTagStdWrap.wrap = <dt>|</dt>
editIconsStdWrap.wrap = <dd>|</dd>

caption {
required = 1
wrap = <dd class="csc-textpic-caption">|</dd>
}
}
ul >
ul < dl
}
}

Danke abermals f?r eure wertvollen Tipps!
snorre
Mike Adlmannseder
2010-05-28 13:25:32 UTC
Permalink
Hallo!

Ich habe das Problem tats?chlich mit der Extension Content elements in
tt_news (rgnewsce) l?sen k?nnen!
Vielen Dank an ALLE Beteiligten!
Das Rendering Problem habe ich gel?st, indem ich bei den statischen
Templates in meinem Root Template
anstatt "CSS Styled Content (css_styled_content)" nun "CSS Styled
Content Typo3 v4.2 (css_styled_content)"
gew?hlt und den gesamten Cache geleert habe...

Vielen Dank nochmals!
snorre

Loading...