TYPO3 Seitenstruktur

Moin,

ich habe vor mit TYPO3 eine Webseite zu erzeugen, auf die nur Mitarbeiter Zugriff haben und die verschieden gestaltete Unterseiten besitzt.

Ich möchte:

  1. dass zuerst eine Seite zur Anmeldung kommt (felogin Extension wahrscheinlich)

  2. dann eine Übersichtsseite kommt auf der mehrere Bilder zu sehen sind, die Links enthalten
    habe mir dafür schon 2 Wege überlegt:

  • einfach 3 Reihen untereinander zu machen mit 3 TMENUs, aber da bleibt die Frage offen, wie ich das dynamisch mit CSS anspreche
  • komplett nur mit HTML + CSS, aber dort ist die Frage, wie ich die dynamisch generierten Seiten als Link angebe
  1. Detailseiten der Übersichtsseite sehen so aus:
  • individuelle Menüs oben rechts haben (einige mit PHP oder Javascripts)
  • unterschiedliche Seiteninhalte besitzen (Addressbücher, Risiko-Einschätzungsdiagramme, etc.) - was nicht unbedingt alles als Extension schon existiert (da müsste ich wahrscheinlich eigene Extensions für erstellen)
  • einen Link links oben um auf die Startseite zurückzukehren (wahrscheinlich nur entryLevel = 1 o.Ä. setzen)

Nun zur Frage: Ist meine Seitenstruktur auf dem richtigen Weg oder habe ich einen Fehler begangen? Und wo muss ich Templates setzen für den „neuen Seitentyp“ (Übersichtsseite ist ja doch wesentlich anders als eine Detailseite)

I ROOT
> II Login
> II Menü_Reihe1 > III Addressbuch; Risiko; andereSeite
> II Menü_Reihe2 > III Seite1; Seite2; Seite3
> II Menü_Reihe3 > III Seite4; Seite5; …

Bzw. wie kann ich in TYPO3 den Unterseiten neue HTML-Vorlagen zuweisen? Muss ich jeder neuen Seite dann ein „Create Template for a new site“ Template reinhaun und konfigurieren oder ein „Extension Temlate“ und dann beim Setup die neue HTML-Vorlage definieren?

MfG
Apo1337

Hi,

ich habe vor mit TYPO3 eine Webseite zu erzeugen, auf die nur
Mitarbeiter Zugriff haben und die verschieden gestaltete
Unterseiten besitzt.

schaun wir mal…

Ich möchte:

  1. dass zuerst eine Seite zur Anmeldung kommt (felogin
    Extension wahrscheinlich)

Kann man so machen.

  1. dann eine Übersichtsseite kommt auf der mehrere Bilder zu
    sehen sind, die Links enthalten
    habe mir dafür schon 2 Wege überlegt:

Du möchtest ein graphisches Menü?

  • einfach 3 Reihen untereinander zu machen mit 3 TMENUs, aber

Wenn Du, aus welchem Grund auch immmer, 3 Menüs haben willst…

da bleibt die Frage offen, wie ich das dynamisch mit CSS
anspreche

Mit CSS sprichst Du gar nichts an, CSS ist für die Gestaltung, also das Aussehen zuständig.

  • komplett nur mit HTML + CSS, aber dort ist die Frage, wie
    ich die dynamisch generierten Seiten als Link angebe

Warum willst Du ein statisch Menü einbauen, wo Du doch ein CMS einsetzt, das dynamisch alles erstellen kann? CSS ist weitrehin für das Aussehen zuständig, nicht die Funktion.

  1. Detailseiten der Übersichtsseite sehen so aus:

Meinst Du ganz ordinäre Seiten? Oder möchtest Du etwas, wie man es auf Nachrichtenseiten findet, also daß der Text auf einer Seite angerissen, auf einer anderen vollständig dargestellt ist?

  • individuelle Menüs oben rechts haben (einige mit PHP oder
    Javascripts)

Was hast Du mit PHP und JS vor? Sind Deine anderen Menüs nicht individuell?!? Warum nutzt Du nicht TYPO dafür?

  • unterschiedliche Seiteninhalte besitzen (Addressbücher,
    Risiko-Einschätzungsdiagramme, etc.)

Also ganz normale Inhaltselemente.

  • was nicht unbedingt
    alles als Extension schon existiert (da müsste ich
    wahrscheinlich eigene Extensions für erstellen)

Ich möchte Dir nicht zu Nahe treten, aber dafür wäre es von Vorteil, wenn Du ersteinmal die Funktionsweise von TYPO3 verstanden hast.

  • einen Link links oben um auf die Startseite zurückzukehren
    (wahrscheinlich nur entryLevel = 1 o.Ä. setzen)

Viele Wege führen nach Rom, oder wie man auch sagt: Kommt drauf an.

Nun zur Frage: Ist meine Seitenstruktur auf dem richtigen Weg
oder habe ich einen Fehler begangen?

Mir ist die Seitenstruktur noch überhaupt nicht klar, zumal ich nicht weiß, ob Du Sitestruktur oder die Struktur (also das Aussehen) einer einzelnen Seite meinst, auch Layout genannt.
Dis Struktur der Site erstellst Du am einfachsten mit einem Stift und einem Blatt Papier, denn dabei geht es lediglich um die logische/organisatorische Struktur. Wie Du das mit dem CMS abbiildest ist zu dem Zeitpunkt völlig unerheblich. Diese Struktur kannst Du dann im BE für Deinen Baum nutzen, wobei natürlich noch das eine oder andere T3-Spezifische dazukommt.

Und wo muss ich Templates
setzen für den „neuen Seitentyp“ (Übersichtsseite ist ja doch
wesentlich anders als eine Detailseite)

Ich sehe im Moment nicht, daß Du ein anderes, als das Root-Template brauchst.

I ROOT
> II Login
> II Menü_Reihe1 > III Addressbuch; Risiko; andereSeite
> II Menü_Reihe2 > III Seite1; Seite2; Seite3
> II Menü_Reihe3 > III Seite4; Seite5; …

Die Menüs sind keine Seite, sondern ein Seitenelement. Genaugenommen sehe ich nur ein Menü…

Bzw. wie kann ich in TYPO3 den Unterseiten neue HTML-Vorlagen
zuweisen?

Was möchtest Du denn mit den HTML-Vorlagen erreichen? Für gewöhnlich erstellst Du Dir ein Haupttemplate mit der grundsätzlichen Struktur die jeder Seite zugrunde liegt. Also z. B. Header oben, Hauptmenü links, daneben den Content, unten den Footer. Da haust Du entsprechend Deine Marker rein. Auf den jeweiligen Seiten fügst Du dann die Elemente ein, die Du benötigst. Das Aussehen steuerst Du über CSS.

Muss ich jeder neuen Seite dann ein „Create Template
for a new site“ Template reinhaun und konfigurieren

Nein. Es sei denn, Du möchstest eine neue Site (NICHT: Seite!) anlegen.

oder ein
„Extension Template“ und dann beim Setup die neue HTML-Vorlage
definieren?

Auch das nicht. Ein Extension-Template erweitert das Haupttemplate. Bei größeren Installationen ist es sinnvoll mit Extension-Templates zu arbeiten um eine bessere Übersicht zu behalten. Außerdem kann man den Inhalt einzelner Ext-Templates deaktivieren in dem man sie nicht mitlädt. Das kann bei der Fehlersuche schneller gehen, als in einem Megatemplate respektive seiner Config alles auszukommentieren.

Ich empfehle Dir einen richtigen Einstieg in TYPO3, denn zur Zeit sieht mir das sehr nach Gewurschtel aus und das führt irgendwann fast zwngsläufig in eine Sackgasse. Die Tutorials von Video2Brain scheinen recht brauchbar zu sein.

Ich persönlich schätze das Templating per Hand, andere bevorzugen TemplaVoila, das ist ein wenig Geschmackssache, manchmal auch eine Frage dessen, was man umzusetzen gedenkt. Vom Autoparser würde ich allerdings die Finger lassen.

Zum Handwerkszeug gehört in jedem Fall auch die TSref; viele technische Fragen, über die Du noch stolpern wirst, lassen sich mit ihrer Hilfe lösen.

Gruß

osmodius

Hi osmodius,

ich habe ja nun schon ein wenig Erfahrung mit TYPO3, nur dachte ich, dass ich für die Übersichtsseite und die Detailseiten verschiedene Templates benötige.

Deiner Meinung nach wäre also die Seitenstruktur (Verzeichnisbaum?) folgendermaßen? :
Root
->Login
->Übersichtsseite
—>Adressbuch, Risiko, Seite3, Seite4, Seite5, …

Wie kann ich dann im Roottemplate angeben, dass er für die Login-Seite das login_template.html; für die Übersichtsseite das uebersicht_template.html und für die Detailseiten das detail_template.html nimmt?
Ein Kollege meinte, dass es möglich ist alle Menüs etc. in ein und dieselbe Seite zu laden und mittels CSS dann die entsprechenden Menüs ein- bzw. auszublenden. Funktioniert das wie CSS Sprites?

Und wie gebe ich mit TYPO3 die Information mit, bei welcher Seite er welche Klasse beim Menü rechts oben wrappen soll, damit das richtige CSS angesprochen wird?
Bsp:

TS:
IF PID = N THEN wrap = - |
ENDIF
IF PID = M THEN wrap = - |
ENDIF
CSS:
.addressbuch {background-position = X Y}
.risiko {background-position = A B}

Geht das so in etwa?

MfG
Apo1337

Grüß Dich,

da ich nicht weiß, um was es bei der Präsenz geht, nehmen wir einfach mal ein, es handele sich um ein Möbelhaus. Das Angebot erstreckt sich über alles, was man so in einem Haushalt benötigt. Es gibt also die Bereiche Wohtimmer, Schlafzimmer, Küche, Kinderzimmer, Bad. Im Bereich Schlafzimmer gibt es die Unterbereiche Betten Schränke, Kommoden usw. In den anderen Bereichenentsprechend. Daraus ergibt sich die logische Struktur (und damit auch die Struktur des Seitenbaums) der Site. Denn wenn ich ein neues Bett suche, dann will ich nicht unnötig mit Kühlschränken irritiert werden.
Bis hier hat das ganze noch überhaupt nichts mit dem Aussehen zu tun, die logische Struktur der einzelnen Seite ist immer die gleiche, z. B. Header, Menü, Content, Footer. Der Footer kann dabei Oben, Unten, Rechts oder sonstwo stehen. Nur logische Zuordnung, die im Roottemplate vorgenommen wird.
Und bedenke immer: Template sind für die logische (semantische) Struktur zuständig. HTML. Das Aussehen (was, wie, wo) steuerst Du über CSS.

Deiner Meinung nach wäre also die Seitenstruktur
(Verzeichnisbaum?) folgendermaßen? :
Root
->Login
->Übersichtsseite
—>Adressbuch, Risiko, Seite3, Seite4, Seite5, …

In dem Beispiel findet sich jetzt nicht unbedingt eine logische Struktur, alles ist gleichberechtigt unterhalb Deiner Übersichtsseite.

Wie kann ich dann im Roottemplate angeben, dass er für die
Login-Seite das login_template.html;

Dafür brauchst Du kein Seitentemplate, der Loginbereich ist ein Inhaltselement. Für das Inhaltselement kannst Du ein eigenes Template einbinden, das Roottemplate bleibt davon unberührt.

für die Übersichtsseite
das uebersicht_template.html

Was auch immer auf Deiner Übersichtsseite steht, die Übersicht ist ein Seitenelement. Ob Du da ein Menü oder was auch immer nutzt, ist egal.

und für die Detailseiten das
detail_template.html nimmt?

Ja, Du rätst richtig: Seitenelement. Ob das jetz „Nur Text“, „Text mit Bild“ etc. ist, bestimmst Du.

Ein Kollege meinte, dass es möglich ist alle Menüs etc.

Was verstehst Du unter „alle Menüs“? Wieviele Menüs hast Du? mehr als eins?

in ein
und dieselbe Seite zu laden und mittels CSS dann die

Der Kollege hat noch nicht mit einem CMS gearbeitet - oder ?!?

entsprechenden Menüs ein- bzw. auszublenden.

Warum sollte man das tun? Das CMS erstellt nach Deinen Vorgaben die jeweils relevanten Mnneüzweige. Du kannst natürlich diese (wie ich finde) nervigen Flyout-Menüs nutzen, dann kommst Du ggf. von jedem Punkt zu jedem andern - Übersichtlich ist allerdings anders.

Und wie gebe ich mit TYPO3 die Information mit, bei welcher
Seite er welche Klasse beim Menü rechts oben wrappen soll,
damit das richtige CSS angesprochen wird?

Möchtest Du, daß das Menü, abhängig von der aktuelle Seite, das Aussehen (nicht den Inhalt) ändert?

Bsp:

TS:
IF PID = N THEN wrap = - |
ENDIF
IF PID = M THEN wrap = - |
ENDIF
CSS:
.addressbuch {background-position = X Y}
.risiko {background-position = A B}

Das Menü soll also, abhängig von der PID eine anderes Hintergrundbild bekommen?

Du kannst z.B. so

[PIDinRootline = 1]

page.bodyTag = 

[PIDinRootline = 2]

page.bodyTag = 

das CSS switchen. Gibt allerdings verschiedene Methoden, welche die beste/eleganteste für Dein vorhaben ist, kann ich so nicht erraten. Google und TSref sind Dein Freund.

Aber wie ich schon sagte: Ich rate Dir, Dich ersteinmal auf das Grundlegende zu konzentrieren und die Basics zu verstehen. Dann werden „Spielereien“ wie kontextabhängige Hintergründe leichter und man weiß auch noch nach 3 Tagen, warum man was genauso so gemacht hat und warum das alles funktioniert (oder auch nicht).

Gruß

osmodius