Page 2 of 3
Re: Gleicher Inhalt auf jeder Seite z.B. rechte Spalte
Posted: Sun 14. Jun 2015, 17:24
by Old Boy
Hilft das hier nicht weiter... zumindest schon mal für vorhandene CPs:
http://forum.phpwcms.org/viewtopic.php?p=144705#p144705
Re: Gleicher Inhalt auf jeder Seite z.B. rechte Spalte
Posted: Sun 14. Jun 2015, 17:43
by update
Die Frage ist doch: Wie kann ich [LEFT] usw dazu bewegen, zu bemerken, ob {VERTMENU} gefüllt ist und Platz braucht (col-3) oder nicht. Ansonsten geht ja alles, aber auf {VERTMENU} reagiert [LEFT] nicht. Naja,, vielleicht tickt ja auch mein Logiksektor grad nicht richtig, evtl braucht es da mehr "custom_logic"?
Re: Gleicher Inhalt auf jeder Seite z.B. rechte Spalte
Posted: Sun 14. Jun 2015, 18:31
by Old Boy
Wie sieht's denn bei [VERTMENU] aus
Re: Gleicher Inhalt auf jeder Seite z.B. rechte Spalte
Posted: Sun 14. Jun 2015, 18:36
by update
{VERTMENU} funktioniert, für sich alleine genommen.
Re: Gleicher Inhalt auf jeder Seite z.B. rechte Spalte
Posted: Sun 14. Jun 2015, 20:15
by Oliver Georgi
Code: Select all
[LEFT]
{LEFT}
[VERTMENU]
{VERTMENU}
[/VERTMENU]
[/LEFT]
[LEFT_ELSE]
[VERTMENU]
{VERTMENU}
[/VERTMENU]
[/LEFT]
Re: Gleicher Inhalt auf jeder Seite z.B. rechte Spalte
Posted: Sun 14. Jun 2015, 20:56
by update
Ok, danke, das hilft schon mal weiter. Aber (das hatte ich vorher auch schon) das [VERTMENU] [/VERTMENU] steht wieder/immer noch im Klartext auf der Seite

und ohne CP in {LEFT} sind es immer noch 12 Spalten und nicht 9 - eine Übung in Gelassenheit

Kann ja auch nicht gehen:
Code: Select all
col-md-[LEFT]9[/LEFT][LEFT_ELSE]12[/LEFT_ELSE]
Nur wäre ich schon irgendwann mal gerne auf den Trichter gekommen, wie das richtig geht...
Re: Gleicher Inhalt auf jeder Seite z.B. rechte Spalte
Posted: Sun 14. Jun 2015, 21:45
by Old Boy
Vielleicht hilft der "LevelLift" da weiter???
Re: Gleicher Inhalt auf jeder Seite z.B. rechte Spalte
Posted: Tue 16. Jun 2015, 08:32
by update
Naja, erstmal frage ich mich, warum [VERTMENU]dazwischen ist mein 1 2 3 Menü[/VERTMENU] im Quelltext stehen bleibt. Das kann doch nur bedeuten, dass es nicht abgearbeitet wird, oder?
Re: Gleicher Inhalt auf jeder Seite z.B. rechte Spalte
Posted: Tue 16. Jun 2015, 08:45
by Oliver Georgi
ja, genau so ist es. Wo kommt das denn her — aus einem Custom Block?
Und noch etwas: Du musst sicher sein, dass der Block Inhalte enthält — das ist keine Prüfung, ob im Template etwas zwischen [TAG][/TAG] steht. Der Wert von {TAG} ist es, gegen den verglichen wird.
Re: Gleicher Inhalt auf jeder Seite z.B. rechte Spalte
Posted: Tue 16. Jun 2015, 09:22
by update
{VERTMENU} wird duch ein FE-render-Script befüllt.
Code: Select all
<?php
// ----------------------------------------------------------------
// obligate check for phpwcms constants
if (!defined('PHPWCMS_ROOT')) {
die("You Cannot Access This Script Directly, Have a Nice Day."); }
// ----------------------------------------------------------------
$_vertmenu = '';
if(isset($LEVEL_ID[1])) {
$_vertmenu = trim( buildCascadingMenu( 'FA,' . $LEVEL_ID[1] . ',' . '4' . ',' . 'act_path|nav nav-pills nav-stacked' . ',' . 'class_active_li|class_active_a' . ',' . ''. ',' . '0' ) );
//{NAV_LIST_UL:FP,'.$level_id.',,act_path,active}';
//$_vertmenu = trim( buildCascadingMenu( 'FP,' . $GLOBALS['content']['cat_id'] . ',' ) );
// this is exactly the same as {NAV_LIST_UL: F,start_level_id, }
// but built with php function behind
if( $_vertmenu ) {
$_vertmenu = '<aside class="">
<nav>
<div class="menu">' . $_vertmenu . '</div>
</nav>
</aside>
';
} else {
$_vertmenu = '<img alt="" src="/_pics/dandelion.png">';
}
}
else {
$_vertmenu = '<img alt="" src="/_pics/dandelion.png">';
}
$content['all'] = str_replace( '{VERTMENU}', $_vertmenu, $content['all'] );
?>
Wie kann ich da prüfen, ob es einen Inhalt gibt?
Wenn {VERTMENU} gefüllt --> mache 9 + 3 Spalten und zeige {VERTMENU} sonst 12 Spalten (das funktioniert (noch) nicht)
oder wenn CP in {RIGHT} --> mache 9 + 3 Spalten und zeige {RIGHT} sonst 12 Spalten (das funktioniert)
oder wenn {ADS_2} gefüllt --> mache 9 + 3 Spalten und zeige {ADS_2} sonst 12 Spalten (das funktioniert)
oder wenn {VERTMENU} oder/und CP in {RIGHT} oder/und {ADS_2} --> mache 9 + 3 Spalten und zeige {VERTMENU} und {RIGHT} und {ADS_2} sonst 12 Spalten (das funktioniert)
Re: Gleicher Inhalt auf jeder Seite z.B. rechte Spalte
Posted: Tue 16. Jun 2015, 09:32
by Oliver Georgi
zuviel Custom, ich nutze dann schlicht HTML Kommentare und prüfe auf eine solche Kombi und ersetze mit meinem Fallback.
Code: Select all
<!--LEFT-->[LEFT]{LEFT}[/LEFT]<!--/LEFT-->
und so weiter.
Re: Gleicher Inhalt auf jeder Seite z.B. rechte Spalte
Posted: Tue 16. Jun 2015, 13:52
by update
Oliver Georgi wrote: ich nutze dann schlicht HTML Kommentare und prüfe auf eine solche Kombi und ersetze mit meinem Fallback.
Hast Du zuufällig ein kleines Beispiel parat, an dem ich mich weiterhangeln kann?

Re: Gleicher Inhalt auf jeder Seite z.B. rechte Spalte
Posted: Tue 16. Jun 2015, 14:03
by Oliver Georgi
Code: Select all
if(strpos($content['all'], '<!--LEFT--><!--/LEFT-->')) {
$content['all'] = str_replace('<!--LEFT--><!--/LEFT-->', 'Hamwa nich, Left iss nich!', $content['all']);
}
Re: Gleicher Inhalt auf jeder Seite z.B. rechte Spalte
Posted: Tue 16. Jun 2015, 17:30
by update
die Ausgabe "Left is nich" kommt brav, aber immer noch nicht in Abhängigkeit vom Vorhandensein (oder Fehlen) eines Menüs

Die Spaltenanzahl in Abhängigkeit vom Vorhandensein des Menüs klappt auch nicht (und das ist ja die eigentliche Thematik)...
Re: Gleicher Inhalt auf jeder Seite z.B. rechte Spalte
Posted: Wed 17. Jun 2015, 09:32
by top
Vielleicht könntest dein Template so anlegen, dass erst mal 12 Spalten angelegt sind.
Wenn dein vertmenu erzeugt wird, fragst fragst du eine typische Zeichenfolge ab, und änderst entsprechend den breiten Bereich.
Etwa so:
Code: Select all
if(strpos($content['all'], 'kann-nur-in-vertmenu-auftauchen')) {
$content['all'] = str_replace('class="fette-12-Spalten-breit"', 'class="nur-voch-9-Spalten-breit"', $content['all']);
}