[TYPO3-german] Elemente platzieren

Marco Brüggemann marco at schauart.de
Wed Apr 9 20:58:51 CEST 2014


Hallo Duti,

ich bin kein "Profi" wie Bernd, aber ich will dir ein paar Grundlegende 
Sachen erklären die dich weiterbringen.

1. Für Typo3 findet man selten Hilfe in Foren, hier wird auch sehr 
langsam oder gar nicht auf eine Frage reagiert. Diese Mailingliste ist 
wohl die beste Hilfe.
2. Ich will keine Werbung für "video2brain" machen oder für 
"galileopress", bei diesen habe ich aber gute Tutorials in Videoform 
gefunden, welche meist ein Webprojekt von hinten bis vorne durcharbeiten.

Ich glaube es gibt 3 verschiedene Ansätze bei Typo3 eine Webseite 
aufzubauen:
1. Die seite wird mit hilfe einer HTML-Datei umgesetzt, welche mit 
{markern} an den Stellen markiert ist, in welchen der dynamische Inhalt 
geladen werden soll. So habe ich auch angefangen, bin dann aber auf 
Grenzen gestoßen, als ich die Ausgabe der Inhaltselemente verändern 
wollte. Spätestens dann wirst Du mehr mit:
2. ... reinem TypoScript zu tun haben. Man kann die Komplette Seite in 
TypoScript entwerfen und dabei besser auf Fallunterscheidungen und 
andere spezielle Dinge eingehen. Ich selbst schreibe meine Templates nur 
noch so und scheue mich vor:
3. Ich glaube das nennt man "Fluid". Ich habe damit noch mie gearbeitet, 
scheint aber auch wieder mit HTML-Vorlagen zu arbeiten, kann aber 
flexibler eingesetzt werden und auch für komplizierte Layouts verwendet 
werden. Aber mich brauchst du da nicht zu fragen!!!

3. Was du dort aufgeschrieben hast ist TypoScript
  Das "PAGE-Objekt" ist dabei für die Eigentliche Seitenausgabe 
verantwortlich

page = PAGE
page {
     hier kommt was
}

Innerhalb von Page kann nun zum Beispiel ein Text ausgegeben werden:

page = PAGE
page {
     10 = TEXT
     10.value = Das ist mein erster Text

     20 = TEXT
     20.value = ... und das mein zweiter
}

wichtig sind die Zahlen 10 und 20, die Reihenfolge sollte wurst sein! 
Die Ausgabe sollte also identisch sein, wenn das dort steht:

page = PAGE
page {
     20 = TEXT
     20.value = ... und das mein zweiter

     10 = TEXT
     10.value = Das ist mein erster Text
}

wenn Du nun die Inhalte ausgeben willst, die im Backend von dir 
eingetragen werden, musst du also der 10 und der 20 nur noch diese 
Inhalte übergeben; und dies hat Bernd schon gezeigt:
Du musst dann 10 und 20 auch nicht sagen, dass es "TEXT" ist

page = PAGE
page {
     10 < styles.content.get
     20 < styles.content.getLeft
     30 < styles.content.getRight
     40 < styles.content.getBorder
}

Bei Deinem Beispiel wird erst Gesagt was 10 ist:

10 = FLUIDTEMPLATE

dann wird gesagt, wo es zu finden ist:

file = fileadmin/template/index.html

dann gibt es vermutlich im Template (also in 
fileadmin/template/index.html) einen Marker {content}
der dann mit dem Content aus dem Backend der jeweiligen Seite, welcher 
in der Spalte "normal" steht, aufgefüllt wird

content < styles.content.get

Wie Bernd schon meinte, kannt du mit

left < styles.content.getLeft

dann einen Marker {left} ein dein HTML-Template befüllen.

Aber wie schon gesagt ... das geht in Richtung Fluid, welches ich nicht 
nutze

Ich mache das dann lieber ohne HTML-Template-Datei-Vorlage .. in etwa so:


page = PAGE
page {
     # mein Seitenheader #
     10 = COA
     10 {
         # Logobereich und Menübereich werden von <div 
class="siteheader"></div> umschlossen #
         wrap = <div class="siteheader">|</div>
         # mein Logobereich #
         10 = COA
         10 {
             wrap = <div class="logo"><h1> | </h1></div>
             10= TEXT
             10.value = hier ist mein Logo
         }
         # mein Menübereich ganz einfach gehalten #
         20 = HMENU
         20 {
             entryLevel = 0
             wrap = <nav class="mainmenu"> | </nav>
             1 = TMENU
             1 {
                 wrap = <ol> | </ol>
                 expAll = 0
                 NO {
                     linkWrap = <span>|</span>
                     ATagBeforeWrap = 1
                     allWrap = |
                     allWrap.dataWrap = <li class="menu_btn first 
menuid_{field:uid}" >|</li>
                 }
             }
         }
     }
     # mein Inhaltsbereich eins #
     20 = COA
     20 {
         wrap = <div class="Inhaltsbereich1">|</div>
         10 < styles.content.get
     }
     # mein Inhaltsbereich zwei #
     30 = COA
     30 {
         wrap = <div class="Inhaltsbereich2">|</div>
         10 < styles.content.getLeft
     }
}

... so in etwa.

Ich hoffe es hilft dir weiter.

Gruß,
Marco.

Am 09.04.2014 17:18, schrieb durim pirku:
> Hallo Leute.
>
> Ich beschäftige mich seit kurzem mit Typo3 und habe da einige fragen 
> zur gestaltung.
> Ich hab mir Tutorials im Internet angeschaut und werde einfach nicht 
> schlau.
>
> Ich kenne mich mit php/html/css recht gut aus aber das ganze Typo3 
> will einfach nicht in meinem Kopf.
> Ich weis nicht wie ich jetzt hier mein Problem genau schildern muss, 
> aber ich versuchs einmal und eben bin ein Neuling in diesem bereich.
>
> Typo3 4.7.2 / Fluid / Bootstrap
>
> Ich habe bei Setup.ts folgenden Code:
> <code>
> page = PAGE
> page {
>         includeCSS.bootstrap = 
> fileadmin/template/bootstrap/css/bootstrap.css
>         includeCSS.bootstrapResposive = 
> fileadmin/template/bootstrap/css/bootstrap-resposive.css
>         includeCSS.custom = fileadmin/template/bootstrap/css/custom.css
>
>         includeJS.jquery = fileadmin/template/bootstrap/js/jquery.js
>         includeJSFooter.bootstrap = 
> fileadmin/template/bootstrap/js/bootstrap.js
>
>         10 = FLUIDTEMPLATE
>         10{
>             file = fileadmin/template/index.html
>             layoutRootPath = fileadmin/template/layouts/
>             partialRootPath = fileadmin/template/partials/
>
>             variables {
>                 siteName = TEXT
>                 siteName.value = Web
>
>                 content < styles.content.get
>             }
>
>
>             }
>
>         }
>
>
>
> </code>
>
> nun verstehe ich das die Seite page.10 für die variable "content" 
> angelegt ist.
>
> in meiner HTML datei ist auch im ausgesuchtem DIV {content} drin.
>
> nun will ich aber auch andere Elemente eingeben die nicht immer in 
> diesem DIV angezeigt werden.
>
> Wie mach ich nun andere Variabeln? Wie z.B die Elemente die ich im 
> Backend links Positioniere das die auch links angezeigt werden?
> Ich kenne bis jetzt nur {content}.
>
>
> Vieleicht habt ihr mein Problem verstanden. Ich möchte keine CopyPaste 
> sachen ich müchte danach suchen und das auch verstehn.
> Aber unter was müsst ich da suchen damit ich das hereisfinden kann?
>
> mfg Duti
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german



More information about the TYPO3-german mailing list