daniel2
I'm new here

Layoutproblem mit Linktitle bei Mouseover

Jump to solution

Hallo Community,

um folgenden Codeschnipsel geht es:

$CMS_TRIM(level:3)$

[ some code... ]

<ul class="someClasses">

  <li>

    <a href="$CMS_REF(ltStoreElement)$"

         title="$CMS_RENDER(template:"tools", pvTool:"translator", pvKey:"allArticles")$">anyLabel</a>

  </li>

</ul>

[ some code... ]

$CMS_END_TRIM$

Ein MouseOver über den so erzeugten Link (getestet im Firefox 12) sieht dann so aus:

Screen Shot 2012-05-24 at 2.21.50 PM.png

Eine leere Zeile drüber ist zwar nen netter Effekt, aber nicht gewünscht. Abhilfe schafft ein zusätzliches Trimming:

<ul class="someClasses">

  <li>

    <a href="$CMS_REF(ltStoreElement)$"

         title="$CMS_TRIM(level:3)$

                     $CMS_RENDER(template:"tools", pvTool:"translator", pvKey:"allArticles")$

                   $CMS_END_TRIM$">anyLabel</a>

  </li>

</ul>

Ist das ein normales Verhalten? Sollte das erste, den ganzen Code umschliessende $CMS_TRIM(level:3)$ sich nicht auch auf den title-Parameter im Link auswirken?

FirstSpirit-Version ist 4.2.461.48921.

Beste Grüße,

Daniel

0 Kudos
1 Solution

Accepted Solutions
hoebbel
Crownpeak employee

Hallo Daniel,

$CMS_TRIM$ soll _unnötige_ Leerzeichen entfernen. Hier befinden sich Zeilenumbrüche innerhalb des auszugebenden Textes. An dieser Stelle willst Du Sie nicht haben, wenn aber statt dessen ein "normaler" Link innerhalb eines DOMs eingefügt wird, würdest Du dich beschweren, wenn die um den Link liegenden Leerzeichen weggetrimmt würden.

Beispiel: CMS_INPUT_DOM:

Dies <bold>ist</bold> <Link>ein Verweis</Link> irgendwo hin

--> Der Inhalt der Link und bold Tags wird nun durch ein Link- bzw. Format-template ausgegeben. Um alles herum steht ein CMS_TRIM. Das Ergebnis soll hier dann natürlich

Das <b>ist</b> <a ...>ein Verweis</a> irgendwo hin

sein und nicht

Das<b>ist</b><a ...>ein Verweis</a>irgendwo hin

Ich hoffe, dieses kleine Beispiel zeigt, wo die Probleme hier liegen. Die möglichen Lösungen sind nicht immer für alle Anwendungsfälle passend, wobei ich die Lösung, dass einfache Leerzeichen stehen bleiben, besser finde, da die noch relativ einfach manuell (auskommentieren, löschen...) entfernt werden können.

Viele Grüsse aus Dortmund,

  Holger

View solution in original post

0 Kudos
4 Replies
hoebbel
Crownpeak employee

Hallo Daniel,

wenn Du alle Umbrüche entfernen willst, musst Du $CMS_TRIM(level:4)$ benutzen anstelle von level:3.

Oder den Umbruch im Quelltext gar nicht erst entstehen lassen, indem diese entweder nicht gesetzt werden (alles in eine Zeile schreiben) oder auskommentiert werden:

[some code]$--

--$[more code within the same line]

Viele Grüsse aus Dortmund,

  Holger

Hallo Holger,

vielen Dank für die schnelle Antwort und den Tipp mit dem Auskommentieren von WhiteSpaces.

Eine Änderung auf Level 4 ist fast die Lösung (es verbleiben jeweils ein Leerzeichen vor und nach "Alle Artikel", also " Alle Artikel ") und macht das zusätzliche Trimmen innerhalb des title-Parameters fast unnötig:

Screen Shot 2012-05-24 at 4.38.15 PM.png

Aber für Perfektionisten: Warum erreich ich nur mit dem zusätzlichen $CMS_TRIM$ folgendes Ergebnis:

Screen Shot 2012-05-24 at 4.36.54 PM.png

Danke nochmal und viele Grüße aus München,

Daniel

0 Kudos
hoebbel
Crownpeak employee

Hallo Daniel,

$CMS_TRIM$ soll _unnötige_ Leerzeichen entfernen. Hier befinden sich Zeilenumbrüche innerhalb des auszugebenden Textes. An dieser Stelle willst Du Sie nicht haben, wenn aber statt dessen ein "normaler" Link innerhalb eines DOMs eingefügt wird, würdest Du dich beschweren, wenn die um den Link liegenden Leerzeichen weggetrimmt würden.

Beispiel: CMS_INPUT_DOM:

Dies <bold>ist</bold> <Link>ein Verweis</Link> irgendwo hin

--> Der Inhalt der Link und bold Tags wird nun durch ein Link- bzw. Format-template ausgegeben. Um alles herum steht ein CMS_TRIM. Das Ergebnis soll hier dann natürlich

Das <b>ist</b> <a ...>ein Verweis</a> irgendwo hin

sein und nicht

Das<b>ist</b><a ...>ein Verweis</a>irgendwo hin

Ich hoffe, dieses kleine Beispiel zeigt, wo die Probleme hier liegen. Die möglichen Lösungen sind nicht immer für alle Anwendungsfälle passend, wobei ich die Lösung, dass einfache Leerzeichen stehen bleiben, besser finde, da die noch relativ einfach manuell (auskommentieren, löschen...) entfernt werden können.

Viele Grüsse aus Dortmund,

  Holger

0 Kudos

Hallo Holger,

ich bin voll Deiner Meinung - ich würde mich tatsächlich beschweren Smiley Wink . Manchmal hat man einfach Scheuklappen auf.

Dann weiß ich jetzt, was ich tun muß und weiß auch, dass es so, wie es sich verhält, korrekt ist und ich nicht irgendeinen Schmarrn zusammengebastelt hab.

Viele Grüße,

Daniel

0 Kudos