WebsiteBaker Community Forum
WebsiteBaker Support (2.8.x) =>
Hilfe & Support (deutsch) => General Help & Support => Diskussion über WB (closed) => Topic started by: gottfried on February 16, 2012, 10:12:48 AM
-
Hallo !
Hab das selbstgemachte Problem, daß auf einer Installation verschiedene Menüäste mit unterschiedlichen Inhalten und z.T sogar wechselbaren Templates habe.
Manchmal passt dann die Positionierung eines Abschnittes nicht, weil das css anderweitig eingestellt wird (z.B FG)
und z.B weniger Bilder auf die Breite passen und alles assymetrisch ist.
Beispiel:
http://www.channel-1.de/dbs/cms1/pages/secondlevel/galerie.php?cat=/gottfried_faass/malerei
(http://www.channel-1.de/dbs/cms1/pages/secondlevel/galerie.php?cat=/gottfried_faass/malerei)
passt wunderbar.
http://www.channel-1.de/dbs/cms1/pages/toplevel/fotos.php
(http://www.channel-1.de/dbs/cms1/pages/toplevel/fotos.php)
in derselben Installation ist assymmetrisch.
Mich sucht momentan der Gedanke heim, daß da da genial im Verwalten Abschnitte ein Feld "Class" wäre,
das, falls vorhanden, einen div mit 'ner class um den ganzen Abschnitt legt, den ich dann im css des jeweiligen Templates behandeln kann.
Wenn man bedenkt, was man mit CSS alles machen kann ......
-
So als quick&dirty workaround könntest Du das mit JavaScript machen. Ein entsprechendes Feld im Abschnitte-Dialog ist dann wohl ein eher längerfristiges Projekt. ;)
-
Nun ja ... irgendwas fällt mir schon dazu ein, wie ich das quick and dirty machen kann.
(Bau halt das Feld ein und such die passende Stelle wo
<a class="section_anchor" id="wb_xx" name="wb_xx"></a>
generiert wird.
)
Wollt ja nur die Idee vortragen.
Mit dem Konzept "class im Abschnittedialog" wäre es z.B im Extremfall möglich, das Template auf body und die Platzhalter für Contents zu reduzieren. Ein Platz für ein Menü wird sich schon finden.
-
Ich find die Idee ja auch super! Ich wollte halt nur auf die Schnelle einen Workaround anbieten. ;)
-
find ich gut, daß du die Idee Super findest.
Demnächst bastle ich mir mal beschriebenen "workarround"
:-)
-
Also das geht mit Droplets ganz einfach....
es gibt eine Variable in der man diese Dinge vor Auslieferung manipulieren kann bzw. anpassen!
quick and dirty (ohne Test)
// do something maybe set a droplet var for the class name
//Search for the Anchor
$wb_page_data = str_replace('<a class="section_anchor"','<a class="section_anchor meine_klasse_oder_eine_var"', $wb_page_data );
return true
//output
return true;
Man kann das dann einfach nutzen in der Section [[divclass?class=tolles_css]]
So würde das einfach und ohne JS klappen.
Grüße mr-fan
-
Hallo mr-fan !
Bringt mich auf den Gedanken einfach vor und nach dem (FG)Abschnitt einen code2 mit start und endtag reinzubasteln.
Danke !
... unabhängig davon, was mir von einer class an der section so vorschwebt.
-
Kannst du dir sparen...
mache um den pagecontent() jeweils einen <div class="dummy"> und am ende </div><!--ende mein block-->
Dann kannst du per Droplet genau diese HTML "Teile" suchen und "dummy" ersetzen wie du willst....und dann per CSS formatieren....dann brauchst du die Section Anker gar nicht anfassen!
evtl. wenn dir das noch bei deinen Überlegungen hilft....
wenn du das nur auch bestimmten Seiten brauchst einfach die Ausgabe im Template mit einer if (PARENT oder PAGE_ID) steuern....fertig ist die Laube!
;)
-
Ich finde die Idee, Abschnitte mit einer ID oder Klasse versehen zu können, trotzdem gut! :-D
-
Ja sicher - aber eine Code2 vor und eine nach einer Section für die ich einen Tag brauche...sind ünnötig....wenn ich das per PHP if im Template lösen kann...oder direkt per droplet den section anker erweitern kann....
-
Ich nehme für sowas schlichtweg:
<body class="bodyclass<?php echo PAGE_ID; ?>">
Dann kann man auf jeder Seite seine Ausnahmen einzeln machen.
Bei praktisch allen Modulen gibt es außen rum einen Wrapper, den man dann so ansprechen kann:
.bodyclass12 .dingsdawrapper {..}
-
Jo ist auch die beste Lösung um etwas per CSS an einer beliebigen Seiten zu "fassen"....aber ich denke hier geht es drum im Backend einer Section zu sagen genau DU bist diese CSS Klasse und zack sieht es so aus.....auf einer anderen Seite wieder genau diese Section soll diese Klasse nutzen.....ohne im Template CSS für jede der gewollten Page_ID's eine Zeile einzutragen....
-
Hab mal einen Filter für OpF Dashboard geschrieben, der die ganzen section_anchors herausschneidet:
https://forum.WebsiteBaker.org/index.php/topic,19755.msg133313.html#msg133313
Dieser Filter ist eine gute Grundlage, um jede Section zu manipulieren.
Kannst alles mit machen was Du willst, was Sections angeht.
Sogar sachen wie Fronten-Edit kann man auf dieser Grundlage realisieren.
- Stefek
-
Ist zwar schon ein wenig älter der Beitrag, aber da ich auch auf der Suche war die Abschnitte mit Klassen zu versehen, will ich hier kurz meine Quick & Dirty Lösung präsentieren, vielleicht hat ja jemand von den Programmieren einen Geistesblitz wie man das als Erweiterung, oder Droplet, oder was auch immer umsetzen kann - oder vielleicht gibt's ja schon ne Lösung, die ich nur nicht gefunden habe, dann würde ich mich über eine Info freuen.
Also ich habe im Ordner modules/wysiwyg/ die Datei view.php geöffnet und folgende Zeile umgeschrieben:
echo $content;
zu
echo '<div class="section id'.$section_id.'">'.$content.'</div>';
Jetzt wird um jeden Abschnitt ein DIV gepackt mit zwei Klassen, einmal "section" damit man generell Sections behandeln kann und wer es noch genauer braucht bekommt mit idX (X = Nummer der Section) eine individuelle Klasse für seine Styles.
Somit bräuchte man kein eigenes Feld "class" iim WYSIWYG Editor (wobei ich das nicht schlecht fände!)
Aber wie gesagt, böse Lösung, da man eine der Kerndateien verändert.