Templates im Backend und Frontend

Fragen zur Implementierung und/oder Anpassung von ConPresso 4 werden in diesem Forum diskutiert.
Antworten
glowy
ConPresso-User
Beiträge: 37
Registriert: 07.02.2007 14:38
Hat sich bedankt: 1 Mal

Templates im Backend und Frontend

Beitrag von glowy »

Liebe ConPresso-Gemeinde,

in den letzten Tagen habe ich mich etwas durch die Doku gelesen, meine Website etwas ConPresso angepasst und bin ganz zuversichtlich, dass das bald schon ein sehr schickes Ergebnis wird, das ich bequem als Admin im Backend steuern kann.

Eine grundlegende Frage, auf die ich autodidaktisch in der Doku keine Lösung finden konnte, ist die danach, wie ich die verschiedenen Templates gestalten muss. Folgendes habe ich bisher, was erstmal ganz in Ordnung aussieht:

Code: Alles auswählen

<div id="rubric">

<h2><!-- VALUE: Title; --></h2>

</div>

<div id="main">

<div id="sidebar">

<h2><a href="/aktuelles/neuigkeiten.php">Neuigkeiten</a></h2>

</div>

<div id="leftbox">

<h3><!-- Value: Title; --></h3>

<p><!-- TEXT: Artitel-Text; --></p>
Jetzt gibt es jedoch diese verschiedenen Template-Code boxen und man kann ja auch mithilfe des Template-Codes das Template im Backend verändern. Wie muss ich genau dazu vorgehen? Wenn ich im Frontend zwischen den p-Tags meinen vorher eingegeben Artikel-Text angezeigt haben möchte, passiert leider im Frontend nichts und der Teil bleibt einfach leer.

Würde mich freuen, wenn wir jemand etwas Hilfestellung leisten kann, im Handbuch habe ich nicht genau die Hilfe gefunden, die ich gerne aufgefunden hätte.

Liebe Grüße
glowy
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 01:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal
Kontaktdaten:

Beitrag von Matthias V »

Hallo Glowy,

theoretisch steht das alles im Handbuch drin, so dass man das auch findet.

Nochmal zu den Grundlagen:
Den Inhalt einer "Sidebar" legst du am besten im _cfg/global_header.php bzw. global_fooger.php an. Der Code, der da drin steht umschließt den Code der in den jeweiligen Rubrikverzeichnissen (z.B. Vorlageordner _rubric) mithilfe der _local_header.php und der _local_footer.php ausgegeben wird.

Und zwischen diesen lokalen headern und footern stehen die Artikel.
Ein Artikel besteht aus einer Rubrikseite (_rubric/index.php) und einer Artikelseite (_rubric/detail.php).
Mithilfe der index.php werden mehrere Artikel einer Rubrik ausgegeben, mithilfe der detail.php immer nur ein Artikel. Dementsprechend erklären sich auch die ersten beiden größeren Felder des Templates.

Im Template platziert man zwischen anderem HTML-Code die Platzhalter verschiedener Typen.

Um die Platzhalter mit Inhalt zu füllen, gibt man das entsprechende Template in der gewünschten Rubrik frei und erfasst einen Artikel. Für jeden Platzhalter aus dem Template gibt es nun Eingabefelder (Außnahme: Value-Platzhalter).

Diese ConPresso Artikeltemplates darfst du nicht mit kompletten Layouttemplates bzw. Seitentemplates verwechseln. In Conpresso regelt man damit nur die Ausgabe der Artikel einer Rubrik.

In deinem Template hast du zweimal <!-- VALUE: Title; --> verwendet.
Der erste Titel sollte bei dir ein Rubriktitel sein. Den schreibst du in den global_header.php bzw. _local_header.php. Aber daffür nimmst du

Code: Alles auswählen

<?php echo $cpoRubric['name']; ?>
Gruß Matthias
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 01:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal
Kontaktdaten:

Beitrag von Matthias V »

Und??
War das dein Verständnisproblem???
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
glowy
ConPresso-User
Beiträge: 37
Registriert: 07.02.2007 14:38
Hat sich bedankt: 1 Mal

Beitrag von glowy »

Hallo Matthias V,

vielen Dank für deine ausführliche Antwort. Einige Teile sind mir nun etwas klarer geworden, doch ein paar Fragen bestehen bei mir immer noch.

1. Wenn ich jetzt diese "local header" und "local footer" im _rubric-Verzeichnis habe, was bringen mir dann die "local header" und "locat footer" im _cfg-Verzeichnis? Ich kann leider nicht nachvollziehen, was diese _rubric-Dateien für einen Vorteil haben bzw. wie sie in der Verwendung aussehen. :?

2. Wie kann ich denn diese Backend-Eingabemasken definieren? Eigentlich möchte ich zu Beginn meines Projekts (später, wenn ich etwas eingearbeitet bin, soll das erweitert werden) nur die Seiten mit Inhalt füllen und dabei hauptsächlich einen Artikel pro Rubrik anzeigen lassen. In welcher Form lege ich denn mögliche Eingabefelder für die spätere Artikelausgabe fest?

Würde mich sehr über eine Antwort freuen.

Vielen Dank im Voraus
glowy
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 01:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal
Kontaktdaten:

Beitrag von Matthias V »

Zu 1. Normalerweise nimmt man den global_header und footer für die gesamte Seitenstruktur. Wenn es allerdings rubrikspezifische Ihnhalte gibt, dann packt man diese zusätzlich in _rubric/_local_header.php und footer.
Das _rubric-Verzeichnis ist eine Kopiervorlage für weitere Rubrikverzeichnisse. Man kann diese Verzeichnisse in den Rubrikeinstellungen verschiedenen Rubriken zuordnen.

zu 2. Der Kopf-Formularteil bei der Artikelerstellung bleibt immer identisch. Die darunter liegenden formularteile richten sich nach den Platzhaltern im Template. Je nach Platzhaltertyp erscheinen da andere Formularelemente. Man kann die Reihenfolge dieser unter "Artikeltemplate bearbeiten" und den Schraubenschlüssel beim eigentlichen Template sortieren und einige Einstellungen festlegen.
Zuletzt geändert von Matthias V am 01.02.2008 15:23, insgesamt 1-mal geändert.
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
glowy
ConPresso-User
Beiträge: 37
Registriert: 07.02.2007 14:38
Hat sich bedankt: 1 Mal

Beitrag von glowy »

Okay, vielen Dank nochmal.

Mittlerweile habe ich es geschafft, den eingegebenen Text auf der Website (im Frontend) anzeigen zu lassen, daher ist das Problem nicht mehr ganz so groß.

Was mir jetzt noch nicht ganz klar ist, ist die Position der lokalen Rubrik-Dateien im Quelltext später. Wenn ich es richtig verstanden habe, wird ganz oben die globale Header-Datei eingefügt, darunter ja eigentlich der jeweilige Artikelinhalt und darunter der Footer, oder? Wie sähe denn dann z.B. so eine rubrikspezifische Datei aus?

Was hat es mit den Rubrik-Verzeichnisen auf sich? Ist es genau so möglich, verschiedene Templates im gleichen Verzeichnis zu benutzen? Auf anderen Seiten habe ich z.B. gesehen, dass _nosidebar ein anderes Verzeichnis ist, in dem die Artikel bzw. Rubrikübersichten keine Sidebar aufweisen. Was ist dazu wichtig zu wissen? Brauche ich dies und wenn ja, wie erstelle ich dann solche neuen Verzeichnisse korrekt?

Und die letzte Frage :oops: : Bei der Eingabe von Platzhaltern im Formular habe ich jetzt festgestellt, dass ich das Prinzip mittlerweile verstehe. Werden die Platzhalter im Formular einfach der Reihenfolge nach für die Erstellung des Artikels angezeigt?

Danke noch einmal für die Antworten, tut mir Leid, aller Anfang ist schwer. :wink:

glowy
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7369
Registriert: 01.01.1970 01:00
Hat sich bedankt: 112 Mal
Danksagung erhalten: 936 Mal
Kontaktdaten:

Beitrag von MarkusR »

Wenn ich es richtig verstanden habe, wird ganz oben die globale Header-Datei eingefügt, darunter ja eigentlich der jeweilige Artikelinhalt und darunter der Footer
Global-Header (_cfg-Verzeichnis)
Lokal-Header (Rubrik-Verzeichnis)
Inhalt (index mit Artikeln oder Detailseite mit einem Artikel)
Lokal-Footer (Rubrik-Verzeichnis)
Global-Footer (_cfg-Verzeichnis)
Was hat es mit den Rubrik-Verzeichnisen auf sich?
Am Anfang gibt es nur das Verzeichnis _rubric.
Will man Seiten ganz verschiedenen gestalten (Mehrspaltigkeit, Infoboxen, Bildergalerien etc.) dann benutzt man ggf. unterschiedliche Rubrikverzeichnisse.
Diese sind einfach eine umbenannte Kopie von _rubric, die per FTP hochgeladen wird.
Ist es genau so möglich, verschiedene Templates im gleichen Verzeichnis zu benutzen?
Insofern Du Artikeltemplates meinst - ja, weil jeder Artikel sein eigenes Template haben kann.
Wenn Du mit "Template" die gesamte Seitengestaltung meinst (was nicht dem Sprachgebrach von ConPresso entspricht), dann nur unter Verwendung von mod_pages, durch das die gesamte Seitengestaltung online im Backend erfolgen kann, ohne weitere Verzeichnisse.
Werden die Platzhalter im Formular einfach der Reihenfolge nach für die Erstellung des Artikels angezeigt?
Sie werden in der von Dir festgelegten Reihenfolge angezeigt, die sich durch Knopfdruck jederzeit ändern lässt
Dateianhänge
reihenfolge.jpg
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 01:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal
Kontaktdaten:

Beitrag von Matthias V »

glowy hat geschrieben:Werden die Platzhalter im Formular einfach der Reihenfolge nach für die Erstellung des Artikels angezeigt?
Matthias V hat geschrieben:Man kann die Reihenfolge dieser unter "Artikeltemplate bearbeiten" und den Schraubenschlüssel beim eigentlichen Template sortieren und einige Einstellungen festlegen.
Markus hat ja bereits ein Bild angehängt. Es zeigt die Ansicht zum Ändern der Platzhalterreichenfolge.
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Benutzeravatar
baluo
ConPresso-Experte
Beiträge: 607
Registriert: 14.11.2005 12:17
Hat sich bedankt: 216 Mal
Danksagung erhalten: 11 Mal

Beitrag von baluo »

hallo glowy,

ich bin zwar keiner der experten hier im forum, wie matthias und markus, die dir ja schon die wichtigen antworten gegeben haben, aber hier ein tip, wie zumindest ich vorgehe (und wahrscheinlich viele andere cpo-user):

nach der installation von conpresso und datenbank (dast hast du ja)

1. schritt:
erstelle dir, wie von markus auch schon oefters hier im forum beschrieben, dein grundlayout mit deinem lieblingseditor und mit dummy-texten

2. schritt:
teile dir im fertigen *html-code* deine "webseite" in vier bereiche, und zwar mithilfe von html-kommentaren (" z.b. <!-- hier folgt der kommentar -->") ... naemlich:

"_cfg/global_header.php":
alles, was im kopfbereich all deiner seiten erscheinen soll, also z.b. (bei einer kleinen website) der sog. header-bereich und der beginn des <body> mit einer kopfzeile oder aehnlichem, evtl. alles *bis auf den kernbereich deiner texte*

"<'rubric'-verzeichnis auf dem server>/local_header.php"
fuer jeweils/mindestens ein rubrik-verzeichnis auf dem server:
in diese datei kannst du rubrik-spezifische informationen oder ein gesondertes design oder was auch immer einfuegen; als letztes braucht es auf jeden fall und zumindest das **oeffnende** html- oder css-element einer zelle (<td> oder eines <div>-container.

conpresso setzt alle artikel-texte, die du per template erstellst, in diese elemente **zwischen** dem local_header und dem local_footer!!

"<'rubric'-verzeichnis auf dem server>/local_footer.php":
hier muss als erstes das schliessende element folgen, also fuer eine zelle </td> oder den div-container </div>; anschliessend koennen hier wieder rubrik-spezifische informationen folgen, also z.b. einen besonderen footer-text fuer jeden themenbereich oder die abschlieesenden html-/css-elemente eines gesonderten design.

"_cfg/global_footer.php":
analog global_header folgen hier abschliessende informationen fuer die gesamt website (also mindestens </body></html>)



fuer dein verstaendnis wichtig ist die unterscheidung zwischen
* der "rubrik" innerhalb des conpresso-backends = ein themenbereich mit einer anzahl von artikeln,
* und "rubric" als verzeichnis auf deinem server, wie es mit conpresso ausgeliefert wird.


die kollegen koennen das vielleicht besser erklaeren, aber das verzeichnis "rubric" kopierst du auf dem server und gibst dem neuen verzeichnis einen sachlich entsprechenden namen (also im obigen fall z.b. altenhilfe oder pflegedienste). hier kannst du in den quellcode die entsprechenden themenspezifischen informationen per hand einfuegen. die verschiedenen "rubriken" innerhalb des backends verknuepfst du dann mit einer dieser verzeichnis-"rubriken"; sie zeigen dann die jeweils spezifischen infos an.


daher
3. schritt:
ersetze den quellcode der dateien <_cfg/global_header.php> und <_cfg/global_footer.php> durch die entsprechenden teile des quellcodes deines muster-layout.

4. schritt:
in den "rubrik"-verzeichnissen auf dem server fuegst du in die dateien (<*name*/local_header.php> und (<*name*/local_footer.php> die entsprechenden teile ebenfalls ein, aber **ohne** deinen dummy-text. wie gesagt, conpresso fuegt die artikel-inhalte zwischen local_header und local_footer ein.



ich habe es mir zu gewohnheit gemacht, fuer mich (und spaetere webseite-betreuer) diese html-kommentare auch in den endgueltigen html-code einzufuegen. du kannst dir das im quellcode einer meiner websites anschauen, z.b. altenhilfe-meldorf.de.
wie conpresso die artikel *zwischen* den header und footer setzt, kannst du dir gut im quellcode einer der bestehenden conpresso-websites anschauen.


vielleicht hilft dir diese etwas laienhafte erklaerung in ergaenzung zu den beitraegen der anderen kollegen.

viel erfolg, gerhard


nachtrag:
die platzhalter werden in der *darstellung im browser* in der reihenfolge angezeigt, wie du sie als template erstellt hast, in der *artikel-bearbeitung* im cpo-backend jedoch in der reihenfolge, wie du sie in der von markus per bild angezeigten reihenfolge sortiert hast (ist etwas irritierend -- mir aber heute zum ersten mal aufgefallen).
glowy
ConPresso-User
Beiträge: 37
Registriert: 07.02.2007 14:38
Hat sich bedankt: 1 Mal

Beitrag von glowy »

Okay, super, die Fragen haben sich jetzt größtenteils erledigt. Vielen Dank!

Derzeit bin ich dabei, ein Verzeichnis namens "_nosidebar" zu erstellen, in dem die volle Breite ohne Sidebar ausgenutzt wird. Wie kann ich denn eine CSS-Datei nur auf dieses Verzeichnis anweden? In der global_header.php habe ich die CSS-Datei festgelegt, wenn ich es in der local_rubric.php mache, ist es nicht mehr an der richtigen Stelle.

Gibt es da auch eine Möglichkeit? Leider ist noch eine zweite CSS-Datei notwendig.

Liebe Grüße,
glowy
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 01:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal
Kontaktdaten:

Beitrag von Matthias V »

Es gibt da mehrer Möglichkeiten:
  1. Du benutzt mod_pages: http://community.conpresso.de/viewtopic.php?t=2313 oder http://community.conpresso.de/viewtopic.php?t=3279
  2. je nach vorhandenen PHP-Kenntnissen kannst du verschiedene css-Dateien je nach Rubrikverzeichnis einbinden
  3. oder du benutzt für dieses Verzeichnis nur die local_header --> _nosidebar/loadheaders.php bzw. loadfooters.php sind umzuschreiben.
  4. Du nutzt generell nur die lokalen header und footer. Das ist aber insgesamt schwieriger bei der Administration.
  5. Du modifizierst per Javascript dein CSS. Und das eben nur im entsprechenden local_header
Also wie siehts bei dir mit PHP oder Javascript-Kenntnissen aus?

P.S. ich würde die Rubrikverzeichnisse nicht mit einem Unterstrich beginnen lassen. Das könnte Probleme mit Suchmaschienen machen und es die URL's sehen damit nicht so gut aus.
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
glowy
ConPresso-User
Beiträge: 37
Registriert: 07.02.2007 14:38
Hat sich bedankt: 1 Mal

Beitrag von glowy »

Danke für die Lösungsansätze. Das mit dem Verzeichnisnamen werde ich ggf. ändern, wenn die Seite online ist, denn SEO-technisch ist sie eigentlich auf einem guten Weg.

Was die Style-Angaben betrifft, habe ich die schlichte Lösung gefunden, Inline-Styles zu verwenden, das heißt, ich überschreibe somit die CSS-Datei, was auch gut funktioniert und nur wenige Code-Abschnitte betrifft. Mit JS und PHP hätte es länger dauern können, auf dem Gebiet kenne ich mich nicht so gut aus.

Vielen Dank und Viele Grüße,
glowy
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 01:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal
Kontaktdaten:

Beitrag von Matthias V »

glowy hat geschrieben:Was die Style-Angaben betrifft, habe ich die schlichte Lösung gefunden, Inline-Styles zu verwenden, das heißt, ich überschreibe somit die CSS-Datei, was auch gut funktioniert und nur wenige Code-Abschnitte betrifft.
Deshalb heißt es ja CASCADING Style Sheet.
Das hätte ich dir auch vorgeschlagen. Ich dachte nur, dass alles im global_header vergibst und mit dem local_header nicht an die richtige Stelle im HTML-Quelltext kommst.
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Ulrich Krause
ConPresso-User
Beiträge: 41
Registriert: 27.02.2007 09:41
Wohnort: 63075 Offenbach
Hat sich bedankt: 4 Mal

Conquarium als Muster - so fing ich an

Beitrag von Ulrich Krause »

Seit Jan. 2007 arbeitete ich mit Conpresso und wußte bis Nov. 2006 noch nicht einmal, was HTML oder php bedeuten. Sql-Kenntnisse waren jedoch vorhanden.
Ich bin den Weg über www.conquarium.de gegangen. Es zeigt schön die unterschiedlichen Bereiche von Globol-/Local-Header/Footer. Auf Basis dieses conquarium entstand die www.gag-buergel.de.
Dreamweaver und Frontpage habe ich mir am Anfang auch angesehen. Für conpresso sind sie nicht erforderlich, evtl. sogar hinderlich.
Über die CSS-Anpassung kann man conquarium prima individualisieren.
Gruß
Ulrich :D
Antworten