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

Title: class für Abschnitte
Post 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 ......


Title: Re: class für Abschnitte
Post by: BlackBird on February 16, 2012, 10:47:08 AM
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. ;)
Title: Re: class für Abschnitte
Post by: gottfried on February 16, 2012, 11:03:15 AM
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
Code: [Select]
<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.



Title: Re: class für Abschnitte
Post by: BlackBird on February 16, 2012, 11:15:00 AM
Ich find die Idee ja auch super! Ich wollte halt nur auf die Schnelle einen Workaround anbieten. ;)
Title: Re: class für Abschnitte
Post by: gottfried on February 16, 2012, 11:28:00 AM
find ich gut, daß du die Idee Super findest.

Demnächst bastle ich mir mal beschriebenen "workarround"

 :-)
Title: Re: class für Abschnitte
Post by: mr-fan on February 16, 2012, 01:02:00 PM
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)

Code: [Select]
// 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
Title: Re: class für Abschnitte
Post by: gottfried on February 16, 2012, 01:37:17 PM
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.
Title: Re: class für Abschnitte
Post by: mr-fan on February 16, 2012, 08:34:07 PM
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!

;)
Title: Re: class für Abschnitte
Post by: BlackBird on February 19, 2012, 09:56:37 PM
Ich finde die Idee, Abschnitte mit einer ID oder Klasse versehen zu können, trotzdem gut! :-D
Title: Re: class für Abschnitte
Post by: mr-fan on February 20, 2012, 05:05:31 PM
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....
Title: Re: class für Abschnitte
Post by: fischstäbchenbrenner on February 20, 2012, 05:42:12 PM
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 {..}
Title: Re: class für Abschnitte
Post by: mr-fan on February 21, 2012, 11:47:53 PM
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....

Title: Re: class für Abschnitte
Post by: Stefek on February 22, 2012, 02:59:45 AM
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
Title: Re: class für Abschnitte
Post by: MoSaG on May 11, 2012, 04:45:46 PM
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:
Code: [Select]
echo $content;zu
Code: [Select]
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.