Zum Inhalt springen

Wie arbeite ich strukturiert?

Erstellt am 17. Oktober 2008 · 4 Antworten · letzte Antwort am 26. März 2009

Tags: Frage

digit01 ·

Hallo Zusammen,

ich habe vor nicht allzu langer Zeit mit Typo3 angefangen und habe mich auch mit einigen Büchern und Anleitungen beschäftigt und schon ein paar einfache Websites mit ein paar nützlichen Extensions erstellt, aber da bleibt die eine oder andere Frage noch offen, deswegen hier eine (etwas langgeratene #paralyzed# ) Frage an erfahrene TypoScript-User:

Ich programmiere auch in PHP und strukturiere gerne meine Arbeit und Projekte in entsprechende Bereiche. Das möchte ich gern auch mit TypoScript in einem Projekt und möchte bestimmte Bereiche der Website gern auslagern in TypoScript-Dateien und HTML-Templates, aber wie mache ich das am besten? – ich habe folgendes bisher gemacht:

Ich habe in meinem "Einstiegs-/Lernprojekt" einen SysFolger "Template Storage" erstellt, in dem ich ein paar Extension Templates ('config' und 'main') abgelegt habe. Im Root der Website habe ich ein Template erstellt und die beiden eingebunden über "Include basis template". Dabei binde ich in den beiden Extension Templates externe TS-Dateien ein über die Anweisung:

<include_typoscript: source="FILE:fileadmin/beispielordner/beispiel_datei01.ts">

Auf diese Weise kann ich mit z. B. PSPad-Editor mit FTP bequem die TS-Dateien bearbeiten und mit der Einbindung über Website-Root steuern, welche der Extension Templates gerade verwendet wird.

Alles soweit so gut und funktioniert auch, aber dann möchte ich weitergehen und es besser strukturieren und auslagern und da komme ich eben nicht weiter.

Es geht darum, dass ich bestimmte Elemente der Seite bzw. Website weiter auslagern will wie z. B. Navigationselemente, Footer, Login-Box oder auch andere Elemente. In dem Extension Templates 'main' binde ich eine HTML-Vorlage mit Subparts ein. Einer der Subparts ist z. B. die Hauptnavigation ('NAV_MAIN'). Um sie abzuarbeiten möchte ich eine passende TS-Datei einbinden, die dann wiederum (ggf.) ein passendes HTML-Template einbindet.

Ich habe versucht in dem 'main'-Template wieder über die o. g. Anweisung (INCLUDE_TYPOSCRIPT) die nav_main.ts einzubinden und es wird scheinbar gezogen, aber funktionier schon mal nicht. Dann wollte ich der nav_main.ts (ggf.) das entsprechende HTML-Template nav_main.tpl.html einbinden, aber soweit komme ich nicht.

Frage: Geht sowas überhaupt und wenn ja, wie (wie müssen die Commands in der 'main' und in der 'nav_main' prinzipiell aussehen)? Geht so ein "kaskadieren" womöglich nur über die Einbindung über das Root?

Ich hoffe, dass ich mein Anliegen gut erklären konnte und hoffe auf Antworten!

Viele Grüße

Greg

Nowi ·

Hallo.

Um andere Elemente wie Navigation, Footer etc. auszulagern würde ich den php Befehl include() oder require() nehmen. Wenn jemand eine Möglichkeit weiß php Dateien für das Template zu verwenden (das Problem hab ich nämlich noch), dann wäre das deine Lösung.

Michaelh74 ·

Als da hat jeder so seine speziellen Vorzüge. Das Auslagern des TS in externe Files ist eine Option, die soweit sehr gut ist.

Ich persönlich lege mein Main Template auf der Root-Seite an und erstelle dann einen System-Folder namens Templates in dem ich dann dort themenspezifisch meine Extension Templates anlege z.B. MENU, SHOP, USERREGISTER, etc. dies include ich dann in mein MAIN TS. Gerade im Hinblick auf den nun in T3 integrierten besseren TS Editor geht das sehr gut so.

Bei einem neuen System kopiere ich die TS Fragmente aus einem Musterprojekt in mein neues System und passe diese an.

Aber wie so oft ist es Geschmacksache...
Von einer Lösung über require oder include würde ich aber in jedem Fall absehen. Das geht rein über TS auch sehr gut.

Gruß
Michael

Nussi2000 ·

Hi

Ich hab ein Problem mit dem Auslagern der TS Datei.

Habe es mit folgendem Befehl ausgelagert:

<include_typoscript: source="FILE:fileadmin/beispielordner/beispiel.ts">

Jetzt ist das Problem das er das Template immer nur 1 mal anzeigt nachdem ich den Cache gelöscht habe.

Wenn ich danach die Seite aktualisiere wird nix mehr angezeigt.

Wenn ich dann den Cache lösche gehts wieder für 1 mal

Woran kann das liegen?

Gruss

Michi