Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 02. April 2012 22:28

Emskopp
probiert CMS/ms aus
Registriert: 02. April 2012
Beiträge: 23

Mehr Content

Hallo zusammen,

ich bin neu hier zugestossen, weil ich auf der Suche nach einem schlanken CMS war und CMS Made Simple genau das CMS war, was ich gesucht habe. Ein schlankes CMS mit Smarty und SQL Support.

Nun zu meinen Anliegen, ich bin es ja mittlerweile gewohnt nach dem (Header, Content, Footer) Prinzip zu arbeiten und habe normalerweise die Teile die eh nicht bearbeitet werden müssen einfach nur inkludiert,... dies wäre auch nun nicht so schlimm, jedoch habe ich deutlich mehr Content zu verwalten, als wie oft benutzt nur mittig:  (siehe Bild)

Preview

Ich würde gerne bestimmte Bereiche auch verändern können ohne diese hart ins Template coden zu müssen. Dies geht zwar sehr schön mit den Globalen Inhaltsblöcken, jedoch möchte ich diesen Inhalt nur auf 1 Seite dann benutzen, ausserdem habe ich etwas Angst (wären bei mir knapp 20 Seiten) dass die globalen Inhaltsblöcke pro Seite allesamt geladen werden aus Performancesicht.

Also die Fragen die ich gern in den Raum werfen möchte:

a) Sind Template Inkludierungen möglich
b) Wie erstelle ich Contentbereiche diese nur auf 1 Seite angezeigt werden  (z.B.  if page=index ... )  ohne dass ich enorm grosse Last fahre dass auch die unsichtbaren Contents allesamt mitgeladen werden. In dem Template von mir ändert sich der Style immer ein wenig, auf einer Seite ist ein Rightmenu auf der anderen Seite ist dieses Rightmenu nicht mehr vorhanden usw. Natürlich werde ich für diese auch seperate Templates erstellen, nur möchte ich nicht den Fehler machen, dass ich nachher für jede Seite nen eigenes Template erstelle, wenn man dies vielleicht viel einfacher lösen kann.

P.S. Habe mir auch schon Advanced Content angesehen, jedoch habe ich es noch nicht ganz verstanden wie dies funktionieren soll lt. der Wiki.


Ich danke für eure Antworten

Beitrag geändert von Emskopp (02. April 2012 00:11)

Offline

#2 02. April 2012 08:06

rage_all
kennt CMS/ms
Ort: Augsburg
Registriert: 09. März 2011
Beiträge: 288

Re: Mehr Content

Hallo!

Also, ich habe bei fast jeder realisierten Seite mindestens zwei Templates erstellt.
Häufig eines für die Startseite und eines für die Folgeseiten; mindestens aber ein Multi-Column und ein Single-Column, z.B. für eine Karte, Kontaktformular, interaktive Anfahrtsbeschreibung mit ganzer Breite, etc.
Die Styles habe ich vom "Haupt"-Template übernommen und nur in einem weiteren Style z.B. die Breite des Content-Block erhöht (width: XXXpx !important;).

Es gibt schon diverse Schalter, die Du nutzen kannst, z.B. habe ich eine Seite, dessen Header-Hintergrund-Bild im Template festgelegt wird, nach dem Title der Seite, z.B. <img src="{title}_header.jpg" alt="" /> (nur rudimentär, der Code haut natürlich so nicht hin).

Zu den Themen Advanced Content usw. habe ich hier aber schon einige Beiträge gefunden, sogar mit zum Teil diffiziler Umsetzung. Hast Du schon das Board durchsucht?

--EDIT--
Herzlich Willkommen bei uns, übrigens!
big_smile

Beitrag geändert von rage_all (02. April 2012 08:07)

Offline

#3 02. April 2012 10:33

serialpark
probiert CMS/ms aus
Ort: Berlin
Registriert: 24. Januar 2012
Beiträge: 52

Re: Mehr Content

für leichte css anpassungen könnte man dem wrapper oder dem body den page_alias als id mitgeben.

und dann via css

#page{
    background-color:yellow;
}

#about #page{
    background-color:blue;
}

ein einfacher lösungsansatz für dein rightmenu wäre zb.

{if $page_alias == 'ausstellungen'}

 <div id="rightmenu">
  bla bla
 </div>

{else}

{/if}

jetzt würde das rightmenü nur noch auf der seite "ausstellungen" angezeigt. man könnte die if abfrage noch auf mehrere seite erweitern

{if $page_alias == 'ausstellungen' || $page_alias == 'kontakt' || $page_alias == 'jobs'}

.

Beitrag geändert von serialpark (02. April 2012 14:23)

Offline

#4 02. April 2012 13:24

Emskopp
probiert CMS/ms aus
Registriert: 02. April 2012
Beiträge: 23

Re: Mehr Content

Super ihr habt mir beide sehr geholfen,

ich werd das CMS wohl nochmal neu installieren müssen, denn iwie ist der Content zwar vorhanden, aber es erfolgt keine Ausgabe mehr weder in der HTML Ansicht noch im Editor, hab es wohl mit Advanced Content installieren/deinstallieren verhauen ^^

Die Idee von serialpark gefällt mir sehr gut, durch die if/else Abfrage wird auch nur das geladen was angezeigt werden muss (natürlich muss ein bissel mehr Code geparsed werden) aber man spart sich 15 Templates zu erstellen.

Offline

#5 02. April 2012 15:46

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.437

Re: Mehr Content

Man könnte auch mit Hilfe von weiteren Inhaltsblöcken arbeiten. Du hast ja schon richtig erkannt, dass viele Globale Inhaltsblöcke zu Problemen führen könnten. Es ist leider tatsächich so, dass sobald ein Globaler Inhaltsblock angezeigt werden soll, alle Gobalen Inhaltsblöcke geladen werden, egal ob benötigt oder nicht. Deshalb wird von den Entwicklern auch von massivem Einsatz Globaler Inhaltsblöcke abgeraten. Es gibt aber auch die Möglichkeit, mehrere Blöcke im Template zu definieren, die nur für die jeweilige Seite gelten. (z.B. {content block="sidebar"} )

D.h. man hat dann pro Seite im Backend mehrere Felder zum Ausfüllen. Im Template kannst Du dann prüfen, ob diese Felder etwas beinhalten und dann entscheiden, ob bzw. was angezeigt wird. Soll z.B. der Slider auf einer Seite nicht angezeigt werden, dann lass das Feld für diese Seite einfach leer. Somit könntest Du tatsächlich mit einem einzigen Template arbeiten.

Diese zusätzlichen Inhaltsblöcke für jede Seite kannst Du auch als einzeilges Text-Input im Backend anzeigen lassen: {content block="show_slider" oneline=true}
Beim Bearbeiten der Seite schreibst Du in dieses Feld z.B. 1 oder 0. Im Template prüfst Du dann so:

{content block='show_slider' label='Slider anzeigen?' oneline=true assign='show_slider'}
{if $show_slider == 1}
<div id="slider">
    ...
</div>
{/if}

Mit Hilfe des Moduls AdvancedContent kann man diese Blöcke auch als andere Input-Felder wie z.B. Checkboxen o.ä. anzeigen lassen.

Wenn Header und Footer immer gleich sind, dann würde ich sie direkt ins Template schreiben.

Die Sache mit dem Rightmenu könnte auch ohne Abfrage funktionieren. Das kommt aber darauf an, wie die Seite inhaltlich aufgebaut ist bzw. was das für ein Menü sein soll. Man kann sich z.B. nur die Menüpunkte anzeigen lassen, die der aktuellen Seite untergeordnet sind bzw. in gleicher Ebene liegen. Wenn die Seite also so aussieht:

1 Seite A
2 Seite B
   2.1 Seite B.1
   2.2 Seite B.2
   2.3 Seite B.3
3 Seite C

Und man das Menü folgendermaßen aufruft:

<nav id="main_menu">
    {menu number_of_levels=1}
</nav>
<nav id="sub_menu">
    {menu start_level=2 collapse=true}
</nav>

dann werden die Punkte 2.1, 2.2, und 2.3 im Sub-Menü nur dann angezeigt, wenn man auf Seite B ist.


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline