WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

Du bist nicht angemeldet.

#1 30.07.2016 00:41:00

stefanek
Developer

show_menu2 etwas erweitern...

Hallo.

Das richtet sich hauptsächlich an Leute, die mit dem show_menu2 bereits gut umgehen können und es gerne bis ans Äußerste ausreizen. wink

Mir fehlten bisher 2 wichtige [felder] mit denen es möglich würde

  1. even/odd (also ob es eine grade oder ungrade Menü-Position des Menü-Items ist) richtig per css anzusprechen und zu stylen.

  2. die Position des Menü-Items selbst auszugeben (also 1,2,3,4...)

Man kann die Menü-Items über die ID und andere Elemente einzeln ansprechen, die obigen beiden fehlen aber bisher und manchmal sind sie sinnvoll.

Jetzt habe ich also das SM2 etwas aufgebohrt und so ist es jetzt möglich, mit [position] die Position auszugeben und mit einer if/else Abfrage even/odd Zustände auszugeben:

[== Beispiel ==]
[if(loop=even){ even } else { odd }]

Gibt es grundsätzlich Interesse an sowas?
Will es erstmal anfragen, bevor ich mich an NorHei damit wende. thumb_up


Gruß,
Chris

Beitrag geändert von stefanek (30.07.2016 00:41:17)


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

#2 30.07.2016 06:25:02

florian
Administrator

Re: show_menu2 etwas erweitern...

Finde ich gut, sollte mit aufgenommen werden.


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#3 30.07.2016 09:41:59

cwsoft
Mitglied

Re: show_menu2 etwas erweitern...

@stefek: stecke da nicht im Detail drin, aber lässt sich odd/even nicht per CSS realisieren? Pro Level mit :nth-child(an+b). Numerierungen sollten sich per CSS mittels :before, :after in Kombination mit counter, counter-increment und counter-reset erzeugen lassen.

Bin aber wie gesagt nicht so im Detail drin, sollte aber möglich sein.

Gruss cwsoft


Account inactive since 2018/11/17.

Offline

#4 30.07.2016 10:06:37

stefanek
Developer

Re: show_menu2 etwas erweitern...

Ja, an sich könnte man das machen.
Es wird aber manchmal schwierig, wenn Du zum Beispiel mit Templates arbeitest die es direkt erfordern. Wie zum Beispiel das Template das ich grade für einen Kunden für WBCE vorbereite.

Das CSS wurde für
menu-1
menu-2
menu-3
usw. ausgelegt, mit den jeweiligen Menu-Items so gestyled, dass sie zusammen ein Ganzes ergeben.
Das geht dann mit der obigen Methode nicht mehr so einfach von der Hand, sprich: viel Zusatzarbeit am CSS File, um es zum Laufen zu bekommen.

even/odd geht da auf jeden Fall einfacher, doch manchmal ist es auch hier einfacher, einfach den Selector in den Menüaufruf zu setzen als die CSS Files umzuschreiben.

show_menu2 ist an sich schon sehr umfangreich und es lassen sich fast alle Menüs von Templates die man so auf Theme-Forrest oder sonst wo einkauft mit wenig Aufwand und ohne zusätzliche Arbeit am CSS adaptieren.
Jetzt könnten es noch ein paar mehr sein ;-)

Gruß,
Chris


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

#5 30.07.2016 12:45:27

grindbatzn
Gast

Re: show_menu2 etwas erweitern...

Das geht aber auch mit ein paar Zeilen jQuery.

#6 30.07.2016 13:08:04

stefanek
Developer

Re: show_menu2 etwas erweitern...

Klar, es gibt immer einen Weg sich an show_menu2 vorbeizuschleichen  big_smile
Persönlich sehe ich es nicht ein jquery/js zu verwenden, wenn ich es sauber über php machen kann.
Aber ja, es geht.
Man kann auch heut noch einen Baum mit 'ner Axt fällen. kiss

Gruß,
Chris


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

#7 30.07.2016 22:12:59

grindbatzn
Gast

Re: show_menu2 etwas erweitern...

Ich weiß schon was du meinst..
Aber ein ander mal will man nicht 2er, sondern 3er oder 4er.
Statt even/odd wären - wenn schon - 12er sinnvoll. auf die kannst du gut per CSS zugreifen.
(Die 5er denke ich jetzt mal nicht an ;-)

#8 30.07.2016 23:22:26

stefanek
Developer

Re: show_menu2 etwas erweitern...

Ich weiß nicht.
Bezogen auf alternate colors ist even/odd das am häufigsten anzutreffende.
Es ist mit Sicherheit nicht etwas, das man unbedingt braucht.

Die Durchnummerierung der Items ist auf jeden Fall sinnvoll ohne jquery und/oder CSS Frickelei, direkt Server seitig.
Das even/odd ist ein Extra-Bon-Bon ohne zusätzliche Rechenleistung bzw. einen großen Overhead in der show_menu2 Funktion. Also hat es sich angeboten.

Ich mache gelegentlich auch Menüs komplett ohne sm2. Einfach eine database query und dann das Array nach Lust und Laune durchstylen.

Die Eingangsfrage war aber nicht ob es Alternativen zu dem Vorschlag gibt, sondern ob Leute die sm2 bis ans Äußerste aureizen es für sinnvoll erachten, wenn es mit aufgenommen wird.

Gruß,
Chris

Beitrag geändert von stefanek (31.07.2016 00:02:56)


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

#9 31.07.2016 10:56:10

cwsoft
Mitglied

Re: show_menu2 etwas erweitern...

stefanek schrieb:

Ich weiß nicht.
Die Eingangsfrage war aber nicht ob es Alternativen zu dem Vorschlag gibt, sondern ob Leute die sm2 bis ans Äußerste aureizen es für sinnvoll erachten, wenn es mit aufgenommen wird.

Meine persönliche Meinung. Ich finde es nicht sinnvoll SM2 weiter aufzubohren, wenn sich das ganze auch über CSS lösen lässt und sich der Bedarf nach so einem Schalter auf ein paar Einzelfälle beschränkt. Wäre eher dafür ein SM2-Light zu bauen tongue

Gruss cwsoft


Account inactive since 2018/11/17.

Offline

#10 31.07.2016 12:26:07

stefanek
Developer

Re: show_menu2 etwas erweitern...

Und was wären die Argumente, die dagegen sprechen aus Deiner Sicht?

Und wie stellst Du Dir ein sm2-Light vor?
Bin ja echt mal gespannt.

Außerdem, wie schon zuvor geschrieben, einfaches CSS reicht in dem genannten Beispiel nicht aus, um das zu machen.
JavaScript/jQuery würde funktionieren, da es aber erst Browser seitig implementiert wird, bringt es unerwünschte Verzögerungen mit sich.

Chris

Beitrag geändert von stefanek (31.07.2016 12:41:46)


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

#11 31.07.2016 14:29:43

grindbatzn
Gast

Re: show_menu2 etwas erweitern...

Dinge wie mit jQuery etwas durchzählen und dann Klassen vergeben, kann man ohne spürbare Verzögerung haben. Länger dauerts erst, wenn auf Abmessungen von Elementen zugegriffen wird.

Ohne jQuery funktioniert heute eh schon fast gar nichts mehr im Web.

So typische Sachen wie: Blende etwas aus, was keinen Inhalt hat - oder zeige es erst gar nicht an usw,.. da mache ich heute gar nichts mehr mit PHP, sondern gleich mit JS/jQuery. Hat einfach den Vorteil, dass man an Modulen nicht herumfrickeln muss.

#12 31.07.2016 15:11:03

stefanek
Developer

Re: show_menu2 etwas erweitern...

Gut, das geht mir etwas zu sehr in Off-Topic hinein.
Ich kann gerne den Eingangspost erweitern/umschreiben, falls die Frage bzw. der Vorschlag nicht richtig verstanden wurde.

Gruß,
Chris


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

#13 31.07.2016 15:53:23

cwsoft
Mitglied

Re: show_menu2 etwas erweitern...

@Stefanek: Denke Chio und ich haben den Eingangspost verstanden.

Ich finde es nicht sinnvoll SM2 weiter aufzubohren für Dinge die mit reinem CSS gehen.
Denn die Farbe für odd/even legt man dann eh wieder per CSS fest, der nächste möchte jeden dritten Eintrag bunt, der nächste jeden zwölften. Da finde ich CSS flexibler und zielführender.

Das Nummerieren von Menüeinträgen habe ich bisher erst einmal gebraucht und der Kunde hat es mit CSS, bzw. im zweiten Anlauf per jQuery gelöst. Nach nem halben Jahr hat er die Nummern dann wieder entfernt big_smile

Ich brauch die Funktion nicht. Es hintert Dich aber niemand das in SM2 aufzunehmen, vielleicht nimmt es ja Norhei in den Core mit auf.

Gruss cwsoft

Beitrag geändert von cwsoft (31.07.2016 15:55:08)


Account inactive since 2018/11/17.

Offline

#14 31.07.2016 16:21:35

stefanek
Developer

Re: show_menu2 etwas erweitern...

Danke.
Wie gesagt, es ging nicht darum, ob es auch alternative Ansätze gibt. Natürlich gibt es die.

Im Falle Deines Kunden der die Nummern wieder rausgenommen hat: es geht nicht um die Nummerierung als solche, sondern, dass in das Menü selectoren eingebunden werden. Sprich z.B. class="item-1" Das geht nicht mit CSS, ja, mit JS geht es; aber auch mit einem weiteren Platzhalter im SM2. Viel einfacher und Server seitig.

Es ist mir auch bewusst, dass es die Wenigsten gebrauchen können. Auch ich komme zum erstem mal damit in Berührung, dass ein vorgefertigtes Template durchnummerierte Menü-Selektoren im CSS definiert. Aber trotzdem eine gute Sache.

cwsoft schrieb:

Ich brauch die Funktion nicht. Es hintert Dich aber niemand das in SM2 aufzunehmen, vielleicht nimmt es ja Norhei in den Core mit auf.

monkey  Also wenn das Deine Position ist, warum dann Deine Erstantwort in diesem Thread?

Gruß,
Chris


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

#15 31.07.2016 16:29:48

grindbatzn
Gast

Re: show_menu2 etwas erweitern...

Ich denke schon auch, dass ich das verstanden habe:
Du willst 2 Klassen haben, mit denen du dann irgendetwas machst, zb einfärben, oder 2 Spaltig oder sonstwas.

Aber es ist eben so: ein anderer will 3 Klassen, ein anderer 5.

[== JavaScript ==]
$( document ).ready(function() {
	var a = performance.now();
	$( '#nav ul ul' ).each(function( index ) {
		var counter = 0;
		$( '#nav ul ul li.lev1' ).each(function( index ) {
			counter++;
			if (counter > 1) {counter = 0;}
			$(this).addClass('toggle'+counter);		
		});
		$( '#nav ul ul li.lev2' ).each(function( index ) {
			counter++;
			if (counter > 1) {counter = 0;}
			$(this).addClass('toggle'+counter);		
		});
	});
	var b = performance.now();
	console.log('It took ' + (b - a) + ' ms.');
});

Hier als kurzes Demo (die li haben in SM2 die class lev[level]
http://wbce.at/tpls/template-wbce-blue.html

Braucht bei mir gerade mal 7 millisekunden - und das könnte man sicher noch verbessern.

Beitrag geändert von grindbatzn (31.07.2016 16:31:04)

#16 31.07.2016 16:43:52

cwsoft
Mitglied

Re: show_menu2 etwas erweitern...

@Stefek: Warum ich geantwortet habe. Du hast gefragt ob es grundsätzlich Interesse daran gibt SM2 wie von Dir beschrieben durch zusätzliche Schalter aufzubohren. Meine Antwort darauf war NEIN, nicht von meiner Seite

Da andere das anders sehen können, habe ich geschrieben dass Dich auch keiner hindert es in SM2 einzubauen. Da ich nicht der Core Entwickler von WBCE bin, bleibt somit das letzte Wort ob es dann rein kommt bei Norhei und Florian. Ganz einfach eigentlich  smile

Beitrag geändert von cwsoft (31.07.2016 16:44:31)


Account inactive since 2018/11/17.

Offline

#17 31.07.2016 18:11:14

florian
Administrator

Re: show_menu2 etwas erweitern...

Du liebe Güte, was ist das für 1 Diskussion... scheint ja echt ein Reizthema zu sein.

Leute, es ist doch niemand verpflichtet, das von Chris vorgestellte Feature zu verwenden!

Dass SM2 ein leidiges Thema ist und zu den größten Herausforderungen zählt, wenn es um die Templateprogrammierung geht, steht außer Frage. Sicherlich wäre irgend eine einfachere und intuitivere Möglichkeit, Navigationen zu erzeugen, mehr als wünschenswert. Siehe dazu auch hier.
Aber eine zusätzliche _optional_ abzufragende Variable macht SM2 nun wirklich nicht komplizierter, als es eh schon ist.

Ich persönlich habe zurzeit auch keine konkrete Verwendung dafür, aber es ist doch nett, wenn SM2 sowas von Haus aus mitbringt und damit irgendwelche jQuery- oder CSS-Geschichten (die natürlich genauso gern verwendet werden können) überflüssig macht. Es geht hier um ein neues _Feature_, das, habe ich den Eindruck, schon quasi fertig in der virtuellen Schublade liegt und nur noch in den Core eingebaut werden müsste.
Also wo ist das Problem?

Meine Meinung: rein damit.


Code allein macht nicht glücklich. Jetzt spenden!

Offline

Liked by:

stefanek

#18 31.07.2016 21:09:11

stefanek
Developer

Re: show_menu2 etwas erweitern...

Danke Florian.

Zurück zum eigentlichen Feature:

ursprünglich wurde [position] aus der DB genommen. Es handelt sich um die Position wie man sie im BE auch im PageTree sieht.

Das Problem damit war, dass wenn man einige Seiten auf `versteckt`stellt, gibt es Lücken in der Frontend Reihenfolge. z.B. 1,2,4,5,7 (während 3 und 6 versteckte Seiten wären).

Ich habe es jetzt so gemacht, dass nicht die position aus der DB genommen wird, sondern sie wird errechnet, wobei versteckte Seiten übergangen werden.

Gruß,
Chris


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

Fußzeile des Forums

up