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

#1 30. Januar 2014 20:56

parsec
kennt CMS/ms
Registriert: 04. Oktober 2012
Beiträge: 208

[GELÖST] Vordefinierte Content-Variationen variabel in Template einfügen?

Hallo Leute,

so wie ich dieses wirklich vorbildliche Forum kenne, wurde sowas bestimmt schon mal bearbeitet. Ich hab zwar nach dieser Problematik gesucht, aber vielleicht die falschen Worte benutzt.

Ist es machbar, dass man in ein Seiten-Template unterschiedliche Inhalts-Block-Typen hinzufügen oder weglassen kann,  also viele vordefinierte Content-Blöcke in ein Seiten-Template einfügt???

Das ich nun bei jeder Seite selber bestimmen kann:

z.B.

Seite A:

Header
Ein Content-Bereich ohne Spalten.
Ein Content-Bereich mit 3 Spalten.
Ein Content-Bereich mit 2 Spalten.
Ein Content-Bereich mit 2 Spalten.
Ein Content-Bereich mit 2 Spalten.
Footer

oder

Seite B:

Header
Ein Content-Bereich ohne Spalten.
Ein Content-Bereich ohne Spalten.
Ein Content-Bereich mit 3 Spalten.
Footer

usw...

Immer so viele oder wenig wie man will und dabei die Reihenfolge selber bestimmen könnte.
In meinem Fall würden Content-Zeilen-Arten mit verschieden vielen Spalten genügen.
In meinem Fall sogar nur diese 3 Varianten.

Ich weis schon, ich könnte jetzt 20 verschiedene Templates mit allen möglichen Variationen machen aber schön ist das nicht. Vor allem nicht so flexibel.

Ich bin Web-Designer aber MS-Anfänger,
bitte genau erklären wo was hin muss!
Wenn es gut erklärt ist komm ich schon klar.

Würde mich freuen wenn sich dieser Sache jemand annehmen würde!

Gruß Tom


"Es ist unmöglich, alles zu wissen" - Horaz

Offline

#2 31. Januar 2014 20:12

owr_web
Server-Pate
Registriert: 16. Dezember 2010
Beiträge: 543

Re: [GELÖST] Vordefinierte Content-Variationen variabel in Template einfügen?

Klingt eigentlich stark nach Advanced Content:

http://www.cmsmadesimple.de/forum/viewtopic.php?id=1347

Offline

#3 31. Januar 2014 22:02

jeff1980
Server-Pate
Ort: Dortmund
Registriert: 26. November 2010
Beiträge: 630

Re: [GELÖST] Vordefinierte Content-Variationen variabel in Template einfügen?

Hi,

ja, AdvancedContent ist da genau die richtige Wahl. Habe so etwas schon öfter umgesetzt, erst vor kurzem wieder mit "Foundation" als Framework.

Zunächst musst Du AdvancedContent installieren und am besten auch direkt als Standard für alle aktuellen und neuen Seiten festlegen.

Danach dann z.B. das hier ganz oben ins Template einfügen:

[== Smarty ==]
{content label="Layout" assign="layout_1" block="layout_1" block_type="dropdown" items="1-spaltig|2-spaltig|3-spaltig" values="1|2|3" block_tab="Inhalte 1" block_group="Layout" no_collapse="true"}
{content label="Haupt-Inhalt" assign="main_content_1" block="main_content_1" block_tab="Inhalte 1" block_group="Inhalt erste Spalte" collapse="false"}
{content label="Inhalt zweite Spalte" assign="second_content_1" block="second_content_1" block_tab="Inhalte 1" block_group="Inhalt zweite Spalte" collapse="false"}
{content label="Inhalt dritte Spalte" assign="third_content_1" block="third_content_1" block_tab="Inhalte 1" block_group="Inhalt dritte Spalte" collapse="false"}

{content label="Layout" assign="layout_2" block="layout_2" block_type="dropdown" items="1-spaltig|2-spaltig|3-spaltig" values="1|2|3" block_tab="Inhalte 2" block_group="Layout" no_collapse="true"}
{content label="Haupt-Inhalt" assign="main_content_2" block="main_content_2" block_tab="Inhalte 2" block_group="Inhalt erste Spalte" collapse="false"}
{content label="Inhalt zweite Spalte" assign="second_content_2" block="second_content_2" block_tab="Inhalte 2" block_group="Inhalt zweite Spalte" collapse="false"}
{content label="Inhalt dritte Spalte" assign="third_content_2" block="third_content_2" block_tab="Inhalte 2" block_group="Inhalt dritte Spalte" collapse="false"}

{content label="Layout" assign="layout_3" block="layout_3" block_type="dropdown" items="1-spaltig|2-spaltig|3-spaltig" values="1|2|3" block_tab="Inhalte 3" block_group="Layout" no_collapse="true"}
{content label="Haupt-Inhalt" assign="main_content_3" block="main_content_3" block_tab="Inhalte 3" block_group="Inhalt erste Spalte" collapse="false"}
{content label="Inhalt zweite Spalte" assign="second_content_3" block="second_content_3" block_tab="Inhalte 3" block_group="Inhalt zweite Spalte" collapse="false"}
{content label="Inhalt dritte Spalte" assign="third_content_3" block="third_content_3" block_tab="Inhalte 3" block_group="Inhalt dritte Spalte" collapse="false"}

Den Inhalt habe ich dann so aufgebaut:

[== Smarty/HTML ==]
{if $layout_1 == '1'}
	<div class="large-12 columns">
		{$main_content_1}
	</div>
{elseif $layout_1 == '2'}
	<div class="large-6 columns">
		{$main_content_1}
	</div>
	<div class="large-6 columns">
		{$second_content_1}
	</div>
{elseif $layout_1 == '3'}
	<div class="large-4 columns">
		{$main_content_1}
	</div>
	<div class="large-4 columns">
		{$second_content_1}
	</div>
	<div class="large-4 columns">
		{$third_content_1}				
	</div>
{/if}
			
{if $main_content_2 != ''}
	<!-- <hr> -->
	<div class="row">
	{if $layout_2 == '1'}
		<div class="large-12 columns">
			{$main_content_2}
		</div>
	{elseif $layout_2 == '2'}
		<div class="large-6 columns">
			{$main_content_2}
		</div>
		<div class="large-6 columns">
			{$second_content_2}
		</div>
	{elseif $layout_2 == '3'}
		<div class="large-4 columns">
			{$main_content_2}
		</div>
		<div class="large-4 columns">
			{$second_content_2}
		</div>
		<div class="large-4 columns">
			{$third_content_2}				
		</div>
	{/if}
	</div>
{/if}

{if $main_content_3 != ''}
	<!-- <hr> -->
	<div class="row">
	{if $layout_3 == '1'}
		<div class="large-12 columns">
			{$main_content_3}
		</div>
	{elseif $layout_3 == '2'}
		<div class="large-6 columns">
			{$main_content_3}
		</div>
		<div class="large-6 columns">
			{$second_content_3}
		</div>
	{elseif $layout_3 == '3'}
		<div class="large-4 columns">
			{$main_content_3}
		</div>
		<div class="large-4 columns">
			{$second_content_3}
		</div>
		<div class="large-4 columns">
			{$third_content_3}				
		</div>
	{/if}
	</div>
{/if}

Das geht sicher auch eleganter ...
Die Klassen stammen von "Foundation" und stehen einfach für die Spalten (1, 2 oder 3). Normalerweise sollte o.g. Code zumindest so funktionieren, dass Du siehst, was gemeint ist.
Das Ganze (layout_x) kannst Du natürlich so oft wiederholen wie Du möchtest und einfach weiter hochzählen (sicher kann man da sogar was mit foreach machen ...

Hoffe, es hilft :-)

Beitrag geändert von jeff1980 (05. Februar 2014 19:08)

Offline

#4 01. Februar 2014 08:53

nockenfell
Moderator
Ort: Gontenschwil, Schweiz
Registriert: 09. November 2010
Beiträge: 2.934
Webseite

Re: [GELÖST] Vordefinierte Content-Variationen variabel in Template einfügen?

Mir gefällt hier mittlerweile die Umsetzung mit mehreren Templates besser. Bei einer Seite habe ich ca 20 Contentblocks drin. Der Aufbau (Formatierung) dieser Contentblocks im Backend geht jeweils recht lange. So würde ich eher ein paar Templates mit weniger Optionen machen, als eine Eierlegende Wollmilchsau. Es ist so auch übersichtlicher.


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#5 01. Februar 2014 11:42

nicmare
Server-Pate
Registriert: 15. Dezember 2010
Beiträge: 1.314
Webseite

Re: [GELÖST] Vordefinierte Content-Variationen variabel in Template einfügen?

nockenfell schrieb:

Mir gefällt hier mittlerweile die Umsetzung mit mehreren Templates besser. Bei einer Seite habe ich ca 20 Contentblocks drin. Der Aufbau (Formatierung) dieser Contentblocks im Backend geht jeweils recht lange. So würde ich eher ein paar Templates mit weniger Optionen machen, als eine Eierlegende Wollmilchsau. Es ist so auch übersichtlicher.

früher habe ich auch ein template bevorzugt. aber mittlerweile tendiere ich auch zu mehreren templates. dank template inheritance in smarty3 ist das auch richtig praktisch und sinnvoll

Offline

#6 05. Februar 2014 19:06

parsec
kennt CMS/ms
Registriert: 04. Oktober 2012
Beiträge: 208

Re: [GELÖST] Vordefinierte Content-Variationen variabel in Template einfügen?

Vielen Dank für die bis jetzt rege Anteilnahme!

Könnt Ihr mir bitte etwas genauer Sagen wo ich was einfügen soll?
Ich hab nicht so viel Erfahrung mit "Advanced Content".

Vielleicht steig ich mit diesem Beispiel auch mal durch was man damit machen kann!

Bitte ein wenig genauer...

In welches Template ganz oben und welchen Inhalt wo?
Das sind 2 Codes, wo muss was rein?

Danke nochmal...


"Es ist unmöglich, alles zu wissen" - Horaz

Offline

#7 05. Februar 2014 19:13

parsec
kennt CMS/ms
Registriert: 04. Oktober 2012
Beiträge: 208

Re: [GELÖST] Vordefinierte Content-Variationen variabel in Template einfügen?

Also die der erste Code denke ich soll in mein Seiten-Template richtig?
Soweit hab ich verstanden, aber wo muss das Smarty/HTML hin?


"Es ist unmöglich, alles zu wissen" - Horaz

Offline

#8 05. Februar 2014 19:17

jeff1980
Server-Pate
Ort: Dortmund
Registriert: 26. November 2010
Beiträge: 630

Re: [GELÖST] Vordefinierte Content-Variationen variabel in Template einfügen?

Hi,

der muss auch ins Template :-). Der erste Code sollte ganz zu Anfang stehen, noch über dem Header.
Der zweite Code muss dann innerhalb des body-Tags eingefügt werden, da dieser die Seitenstruktur bestimmt.
Hier mal im Ganzen (ohne Menü, Titel, o.ä.):

[== TEMPLATE ==]
{strip}
{content label="Layout" assign="layout_1" block="layout_1" block_type="dropdown" items="1-spaltig|2-spaltig|3-spaltig" values="1|2|3" block_tab="Inhalte 1" block_group="Layout" no_collapse="true"}
{content label="Haupt-Inhalt" assign="main_content_1" block="main_content_1" block_tab="Inhalte 1" block_group="Inhalt erste Spalte" collapse="false"}
{content label="Inhalt zweite Spalte" assign="second_content_1" block="second_content_1" block_tab="Inhalte 1" block_group="Inhalt zweite Spalte" collapse="false"}
{content label="Inhalt dritte Spalte" assign="third_content_1" block="third_content_1" block_tab="Inhalte 1" block_group="Inhalt dritte Spalte" collapse="false"}

{content label="Layout" assign="layout_2" block="layout_2" block_type="dropdown" items="1-spaltig|2-spaltig|3-spaltig" values="1|2|3" block_tab="Inhalte 2" block_group="Layout" no_collapse="true"}
{content label="Haupt-Inhalt" assign="main_content_2" block="main_content_2" block_tab="Inhalte 2" block_group="Inhalt erste Spalte" collapse="false"}
{content label="Inhalt zweite Spalte" assign="second_content_2" block="second_content_2" block_tab="Inhalte 2" block_group="Inhalt zweite Spalte" collapse="false"}
{content label="Inhalt dritte Spalte" assign="third_content_2" block="third_content_2" block_tab="Inhalte 2" block_group="Inhalt dritte Spalte" collapse="false"}

{content label="Layout" assign="layout_3" block="layout_3" block_type="dropdown" items="1-spaltig|2-spaltig|3-spaltig" values="1|2|3" block_tab="Inhalte 3" block_group="Layout" no_collapse="true"}
{content label="Haupt-Inhalt" assign="main_content_3" block="main_content_3" block_tab="Inhalte 3" block_group="Inhalt erste Spalte" collapse="false"}
{content label="Inhalt zweite Spalte" assign="second_content_3" block="second_content_3" block_tab="Inhalte 3" block_group="Inhalt zweite Spalte" collapse="false"}
{content label="Inhalt dritte Spalte" assign="third_content_3" block="third_content_3" block_tab="Inhalte 3" block_group="Inhalt dritte Spalte" collapse="false"}
{process_pagedata}
{/strip}
<html>
	<head>
		<title>{sitename}</title>
		{cms_stylesheet}
	</head>
	<body>
		{if $layout_1 == '1'}
			<div class="large-12 columns">
				{$main_content_1}
			</div>
		{elseif $layout_1 == '2'}
			<div class="large-6 columns">
				{$main_content_1}
			</div>
			<div class="large-6 columns">
				{$second_content_1}
			</div>
		{elseif $layout_1 == '3'}
			<div class="large-4 columns">
				{$main_content_1}
			</div>
			<div class="large-4 columns">
				{$second_content_1}
			</div>
			<div class="large-4 columns">
				{$third_content_1}				
			</div>
		{/if}
					
		{if $main_content_2 != ''}
			<!-- <hr> -->
			<div class="row">
			{if $layout_2 == '1'}
				<div class="large-12 columns">
					{$main_content_2}
				</div>
			{elseif $layout_2 == '2'}
				<div class="large-6 columns">
					{$main_content_2}
				</div>
				<div class="large-6 columns">
					{$second_content_2}
				</div>
			{elseif $layout_2 == '3'}
				<div class="large-4 columns">
					{$main_content_2}
				</div>
				<div class="large-4 columns">
					{$second_content_2}
				</div>
				<div class="large-4 columns">
					{$third_content_2}				
				</div>
			{/if}
			</div>
		{/if}
		
		{if $main_content_3 != ''}
			<!-- <hr> -->
			<div class="row">
			{if $layout_3 == '1'}
				<div class="large-12 columns">
					{$main_content_3}
				</div>
			{elseif $layout_3 == '2'}
				<div class="large-6 columns">
					{$main_content_3}
				</div>
				<div class="large-6 columns">
					{$second_content_3}
				</div>
			{elseif $layout_3 == '3'}
				<div class="large-4 columns">
					{$main_content_3}
				</div>
				<div class="large-4 columns">
					{$second_content_3}
				</div>
				<div class="large-4 columns">
					{$third_content_3}				
				</div>
			{/if}
			</div>
		{/if}
	</body>
</html>

Das {strip} ... {/strip} um den ersten Teil dient nur dazu, den whitespace zu entfernen.
Wenn Du AdvancedContent installiert und den entsprechenden Seiten als Inhaltstyp zugewiesen hast, sollte dieses Template grundsätzlich funktionieren.

Offline

#9 05. Februar 2014 19:45

parsec
kennt CMS/ms
Registriert: 04. Oktober 2012
Beiträge: 208

Re: [GELÖST] Vordefinierte Content-Variationen variabel in Template einfügen?

Supi! Vielen Dank hat funktioniert!

Jetzt will ich aber noch was hinterherwerfen was oben schon jemand geschildert hat!

Jetzt ist es ja so, das man im Template vordefinieren muss wieviele Zeilenkombinationen möglich sind.
Cooler wäre natürlich, wenn man als Enduser selber bestimmen könnte...

noch eine Zeile mit 2 spalten...
noch eine Zeile mit einer spalte...
noch eine Zeile mit 2 spalten...
noch eine Zeile mit 2 spalten...
noch eine mit 3 spalten

usw.

und die nach Bedarf wieder löschen könnte.
Sonnst ist die "mehrere Templates Variante" doch die einfachere und übersichtlichere Lösung denke ich.

Grüße

Beitrag geändert von parsec (05. Februar 2014 20:10)


"Es ist unmöglich, alles zu wissen" - Horaz

Offline

#10 05. Februar 2014 21:48

nockenfell
Moderator
Ort: Gontenschwil, Schweiz
Registriert: 09. November 2010
Beiträge: 2.934
Webseite

Re: [GELÖST] Vordefinierte Content-Variationen variabel in Template einfügen?

Dynamische Contentblocks pro Seite wie sie z.B. TYPO3 kennt, sind im System von CMSMS bisher nicht vorgesehen. Möglich, dass diese mit der Version 2 ändert. Hier ist der gesamte Inhaltsteil in ein Modul ausgelagert. Wenn es mal einen Programmierer gibt, der hier was machen möchte, wäre es allenfalls möglich ein entsprechendes Modul zu bekommen.


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#11 05. Februar 2014 21:55

parsec
kennt CMS/ms
Registriert: 04. Oktober 2012
Beiträge: 208

Re: [GELÖST] Vordefinierte Content-Variationen variabel in Template einfügen?

Danke für das abschließende Statment!


"Es ist unmöglich, alles zu wissen" - Horaz

Offline

#12 06. Februar 2014 03:37

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.018
Webseite

Re: [GELÖST] Vordefinierte Content-Variationen variabel in Template einfügen?

parsec schrieb:

Cooler wäre natürlich, wenn man als Enduser selber bestimmen könnte...

Etwas ähnliches hatte @Sonya mal vor längerem mit dem Template "Gala Purity" vorgestellt.

http://www.look-for-it.de/eigene-homepa … ate-layout

Müsstest das Template für die aktuelle CMSMS-Version nur etwas anpassen (stylesheet -> cms_stylesheet).

OK, es lassen sich nicht unendlich viele Spalten / Blöcke hinzufügen, sondern nur in einem vom Designer vorgegebenen Rahmen. Kommt jedoch deiner Frage schon ziemlich nahe.

Zudem hätte ich da schon etwas Bauchschmerzen, dem Enduser vollkommene Freiheit bei der Seitengestaltung zu geben wink - wenn da etwas schief geht und etwas das Layout zerstört, musst du wieder ran ...

Offline