Wenn Sie von unseren Extensions, Tipps und (Online-)Hilfen in Ihren Projekten profitieren konnten und das Gefühl haben, sich dafür erkenntlich zeigen zu wollen, dann dürfen Sie uns gerne für unsere Leistungen eine kleine Spende zukommen lassen. Klicken Sie einfach auf den u.a. Button

Paypal Spendenknopf

Für mehr Infos
bitte auf die Grafik unten klicken.
 

"TYPO3 Code-Snippets"

Alle anzeigen / Alle verbergen

Antwort auf/zuklappen

Wie funktioniert das genau mit "substMarksSeparately"?

page.10 = TEMPLATE

# substMarksSeparately ist ein Objekt von TEMPLATE, daher muss das
# hier hin. Danke an Patrick alias king.darki vom www.typo3.net/forum
# für den entscheidenden Hinweis:
page.10.substMarksSeparately = 1
 
 
# Hier wird in einen Subpart der Marker ###MARKER### hinein gewrappt:
page.10.subparts {
NORMAL < styles.content.get
NORMAL.wrap = <div id="col3">###MARKER### | </div>
}
 
 
# und danach wird dieser Marker ersetzt durch Text oder Feldinhalte, 
# wie man es sich wünscht

page.10.marks {
MARKER = TEXT
MARKER.field = subtitle // title
MARKER.wrap = <h1>|</h1>
}

Antwort auf/zuklappen

Spaghetti-Code durch Inline-Styles beim Positionieren der Überschriften!? Wie kann ich das entfernen?

Man kann im Allgemeinteil eines Datensatzes (z.B. Text-Objekt auf einer Seite) die Überschrift positionieren (nicht, links, mitte oder rechts). Diese Formatierung wird in TYPO3 umgesetzt in z.B. diesen Code:

<h1 style="text-align:center" class="csc-firstheader">Überschrift</h1>

Dieses style="text-align:center" erzeugt wiederum den sogenannten Spaghetti-Code!

Durch folgenden Eintrag ins Template-Setup von TYPO3 kann man das beheben, der STYLE wir in einen zusätzlichen Klasseneintrag gewandelt:

lib.stdheader {
  # style= eliminieren wegen Spaghetti-Code!
# neues Register für csc-firstHeader
  1 = LOAD_REGISTER
  1.cscFirst = csc-firstHeader
  1.cscFirst.if.value=1
  1.cscFirst.if.equals.data = cObj:parentRecordNumber
  1.cscFirst.wrap = |

# auslesen der Position der Überschrift:
  2 >
  2 = LOAD_REGISTER
  2.headerStyle.field = header_position
  2.headerStyle.required = 1
  2.headerStyle.noTrimWrap = |align-||

  # Create class="csc-firstHeader align-right/-center/-left" attribute for <Hx> tags
  3 >
  3 = LOAD_REGISTER
  3.headerClass.stdWrap.dataWrap = {register:cscFirst} {register:headerStyle}
  3.headerClass.required = 1
  3.headerClass.noTrimWrap = | class="|"|
 
# entfernen von {register:headerStyle} aus den Überschriften:
  10.1.fontTag = <h1{register:headerClass}>|</h1>
  10.2.fontTag = <h2{register:headerClass}>|</h2>
  10.3.fontTag = <h3{register:headerClass}>|</h3>
  10.4.fontTag = <h4{register:headerClass}>|</h4>
  10.5.fontTag = <h5{register:headerClass}>|</h5>
}

 

ACHTUNG!!! Ab den Versionen 4.4.9 und 4.5.4 gibt es die Eigenschaft "fontTag" nicht mehr!!! Die letzten Befehle müssen geändert werden in:

# entfernen von {register:headerStyle} aus den Überschriften:
  10.1.dataWrap = <h1{register:headerClass}>|</h1>
  10.2.dataWrap = <h2{register:headerClass}>|</h2>
  10.3.dataWrap = <h3{register:headerClass}>|</h3>
  10.4.dataWrap = <h4{register:headerClass}>|</h4>
  10.5.dataWrap = <h5{register:headerClass}>|</h5>

Antwort auf/zuklappen

Spaghetti-Code durch Inline-Styles beim TYPO3-Bild-Rendern!? Wie kann ich das entfernen?

TYPO3 erzeugt Spaghetti-Code! Sobald Bilder als Inhalt eingestellt werden, werden im Standard DIVs (oder <DL> ...) erstellt, die als Inline-Style die Bild-Maße angeben:

<div class="..." style="width:250px;"> .... </div>

Das lässt sich ändern in (Klassenname ist willkürlich):

<div class="... autowidth"> .... </div>

erzielt wird das durch diese Einträge in das TYPO3-Template-Setup:

tt_content.image.20.rendering {
   dl.imageLastRowStdWrap.dataWrap = <div class="csc-textpic-imagerow csc-textpic-imagerow-last autowidth"> | </div>
   ul.imageLastRowStdWrap.dataWrap = <div class="csc-textpic-imagerow csc-textpic-imagerow-last autowidth"><ul> | </ul></div>
   div.imageLastRowStdWrap.dataWrap = <div class="csc-textpic-imagerow csc-textpic-imagerow-last autowidth"> | </div>
   div {
      imageRowStdWrap.dataWrap = <div class="csc-textpic-imagerow autowidth"> | </div>
      oneImageStdWrap.dataWrap = <div class="csc-textpic-image###CLASSES### autowidth"> | </div>
   }
}

Ins CSS gehört dann noch :

.autowidth { width:auto !important; }

 

 


Ansprechpartner: Kurt Kunig (http://www.kupix.de)
Frage gestellt von: u.a. Twitter -> maddesign
 
TYPO3