Tester gesucht für neues OnePage-Template SlideMeCrazy

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
lck
Posts: 2963
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: Tester gesucht für neues OnePage-Template SlideMeCrazy

Post by lck » Tue Jan 29, 2019 11:49 am

cmb wrote:
Mon Jan 28, 2019 10:23 pm
Allerdings ignoriert diese Variante Änderungen an der URL. Um auch dies abzufangen, könnte man das hashchange-Event nutzen (das gut unterstützt wird). Mal vereinfacht (passt nicht bei Sonderzeichen in der URL, und berücksichtigt nicht die „Startseite“):
Ich hatte den Code derweil schon erweitert, damit bei einem Klick auf das Logo und Languagemenu die Klasse wieder entfernt und somit der Link nicht mehr hervorgehoben wird.

Code: Select all

$(".lck_nav .nav-logo li, .lck_nav .onepage_menu li, .lck_languagemenu li").click(function(){
	$(this).addClass("iamselected");
	$("li").not(this).removeClass("iamselected");
});
Füge ich deinen Code als Ersatz ein, so werden beim Aufrufen der Seite (und auch bei Klick auf das Logo+Logotext) alle Links rot hervorgehoben, also alle Links haben die Klasse iamselected :?, ansonsten scheint es zu passen.
cmb wrote:
Mon Jan 28, 2019 10:23 pm
So etwas könnte ich bei Onepage_XH einbauen, aber ich frage mich inzwischen, ob und inwiefern es überhaupt sinnvoll ist, dass onepage.js überhaupt ausgeliefert wird.
Bin ich schon dafür, aber das müsste halt mal überarbeitet werden zwecks den Problemen mit IOS-Geräten, wenn Zeit ist. Es gibt ja auch ältere Templates die darauf angewiesen sind.
cmb wrote:
Mon Jan 28, 2019 10:23 pm
Zumindest bei SlideMeCrazy erscheint es völlig überflüssig (wenn ich in der Konfiguration use_javascript deaktiviere, dann scheint alles wie gehabt).
Ja, in dem Fall wäre sie fast ganz überflüssig (weiß jetzt nicht ganz genau was da eventuell noch vom Template noch verwendet wird) da der Slider nun auf allen Geräten verwendet wird. Ohne JS muss es ja auch laufen, weil das Template eigentlich pures CSS ist, nur diese Komfort-Dinge, wie das Smooth'en, Scroll-to-Top/Footer, das automatische Schließen des Menüs und die aktiven Nav-Item Hervorhebung sind per JS angelegt.
cmb wrote:
Mon Jan 28, 2019 10:23 pm
Wenn nur bestimmte Funktionalität von onepage.js gewünscht ist, dann müssten die Details konfigurierbar sein, oder vielleicht wäre es sinnvoller nur ein paar Code Snippets (in der Hilfe-Datei?) anzubieten?
Konfigurierbar, ja wäre nicht schlecht, aber das ist ja wieder eine Menge Arbeit. Code-Snippets, da ist halt wieder die Gefahr der falschen Anwendung :?
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Tester gesucht für neues OnePage-Template SlideMeCrazy

Post by cmb » Tue Jan 29, 2019 1:28 pm

lck wrote:
Tue Jan 29, 2019 11:49 am
Ich hatte den Code derweil schon erweitert, damit bei einem Klick auf das Logo und Languagemenu die Klasse wieder entfernt und somit der Link nicht mehr hervorgehoben wird.
Mir ging es um das direkte Aufrufen von Deep-Links wie beispielsweise http://www.cmsimplexh.momadu.de/demos/_ ... /#Sprachen.
lck wrote:
Tue Jan 29, 2019 11:49 am
Füge ich deinen Code als Ersatz ein, so werden beim Aufrufen der Seite (und auch bei Klick auf das Logo+Logotext) alle Links rot hervorgehoben, also alle Links haben die Klasse iamselected :?, ansonsten scheint es zu passen.
Das ist das von mir nur kurz erwähnte Startseiten-Problem. Um dieses zu Beheben, könnte der Code so aussehen:

Code: Select all

function adjustMenuClasses() {
	$(".lck_nav .onepage_menu li").removeClass("iamselected");
	if (location.hash.length > 1) {
		$(".lck_nav .onepage_menu li a:contains('" + location.hash.substr(1) + "')").parent("li").addClass("iamselected");
	} else {
		$(".lck_nav .onepage_menu li").first().addClass("iamselected");
	}
}
$(adjustMenuClasses);
$(window).on("hashchange", adjustMenuClasses);
lck wrote:
Tue Jan 29, 2019 11:49 am
Bin ich schon dafür, aber das müsste halt mal überarbeitet werden zwecks den Problemen mit IOS-Geräten, wenn Zeit ist. Es gibt ja auch ältere Templates die darauf angewiesen sind.
Ist weniger ein Zeitproblem, sondern hängt vor allem damit zusammen, dass ich kein iOS-Gerät zur Verfügung habe, und ohne Debugmöglichkeiten, kann ich eigentlich nur raten wo das Problem liegt, zumal ich den Überblick verloren habe, was da eigentlich nicht passt. Fehlendes Smooth-Scrolling unter Safari und Chrome für iOS 6 liegt wohl daran, dass dort requestAnimationFrame() nicht verfügbar ist, und onepage.js dann eben einfach nicht smooth scrollt. Aber bei einem angebissenen Apfel würde ich nach fünf Jahren auch nicht mehr erwarten, dass er noch gut ist. ;)

Auf jeden Fall sollte ich mal eine neue Version von Onepage_XH freigeben, weil ich schon vor geraumer Zeit zumindest ein paar Dinge nachgebessert hatte. Zuvor sollte ich mir aber wohl noch Privacy_XH vornehmen, das vielleicht wichtiger denn je ist.
lck wrote:
Tue Jan 29, 2019 11:49 am
Ja, in dem Fall wäre sie fast ganz überflüssig (weiß jetzt nicht ganz genau was da eventuell noch vom Template noch verwendet wird) da der Slider nun auf allen Geräten verwendet wird. Ohne JS muss es ja auch laufen, weil das Template eigentlich pures CSS ist, nur diese Komfort-Dinge, wie das Smooth'en, Scroll-to-Top/Footer, das automatische Schließen des Menüs und die aktiven Nav-Item Hervorhebung sind per JS angelegt.
Schon klar. Allerdings kann onepage.js schwerlich beliebiges HTML/CSS unterstützen. .iamselected wäre so etwas.
Christoph M. Becker – Plugins for CMSimple_XH

Holger
Site Admin
Posts: 3470
Joined: Mon May 19, 2008 7:10 pm
Location: Hessen, Germany

Re: Tester gesucht für neues OnePage-Template SlideMeCrazy

Post by Holger » Tue Jan 29, 2019 1:47 pm

Also ich wäre dafür, dass onepage.js entfällt und in Zukunft alles ins Template wandert. Und auch das mit der konfigurierbaren Zusazklasse "onepage_inner" halte ich nicht für gut. Was, wenn ein Template diese Klasse nutzt, der Eintrag aber nicht richtig konfiguriert ist? Und warum muss diese zusätzliche Klasse überhaupt konfigurierbar sein, wenn sie nicht stört?

Ich hatte ja mal vorgeschlagen, dass man im Template die Html-Struktur definieren kann. Das wäre doch viel flexibler, als eine Klasse per config.php bzw. überhaupt die ganze Vorgabe der Struktur per Plugin.

Früher dachte ich ja, dass eine "Basic onepage.js" Sinn macht. Aber in der Zwischenzeit glaube ich immer mehr, dass der Ansatz nur die Flexibilität einschränkt.

lck
Posts: 2963
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: Tester gesucht für neues OnePage-Template SlideMeCrazy

Post by lck » Tue Jan 29, 2019 1:56 pm

cmb wrote:
Tue Jan 29, 2019 1:28 pm
Mir ging es um das direkte Aufrufen von Deep-Links wie beispielsweise http://www.cmsimplexh.momadu.de/demos/_ ... /#Sprachen.
Das hatte ich auch so verstanden und auch getestet.
cmb wrote:
Tue Jan 29, 2019 1:28 pm
Das ist das von mir nur kurz erwähnte Startseiten-Problem. Um dieses zu Beheben, könnte der Code so aussehen:
Besser, aber jetzt wird beim Aufruf der Seite der erste Link im Menü markiert und auch beim Klick auf das Logo. Das ist auch nicht richtig, da ja die Startseite/Intropage aufgerufen wird, da sollte nix markiert sein.
cmb wrote:
Tue Jan 29, 2019 1:28 pm
Ist weniger ein Zeitproblem, sondern hängt vor allem damit zusammen, dass ich kein iOS-Gerät zur Verfügung habe, und ohne Debugmöglichkeiten, kann ich eigentlich nur raten wo das Problem liegt, zumal ich den Überblick verloren habe, was da eigentlich nicht passt.
Dito, auch kein IOS-Gerät. Wer kauft so was :roll:
Da stochert man im Trüben, man ist nur am fixen für diese Geräte und fixen geht nur per JS, meistens.

Auf alle Fälle ist der neueste Stand online und wenn ihr wollt, stell ich auch wieder einen Download zur Verfügung.
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

lck
Posts: 2963
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: Tester gesucht für neues OnePage-Template SlideMeCrazy

Post by lck » Tue Jan 29, 2019 2:04 pm

Holger wrote:
Tue Jan 29, 2019 1:47 pm
Früher dachte ich ja, dass eine "Basic onepage.js" Sinn macht. Aber in der Zwischenzeit glaube ich immer mehr, dass der Ansatz nur die Flexibilität einschränkt.
Tja, und was ist den vorhandenen Templates bei einem Update von OnePage_XH? Das müsste irgendwie geregelt werden. Ansonsten gerne.

An alle IOS-Geräte-Besitzer, bitte mal den Scroll-to-Top Button testen. Wenn es nicht flutscht, muss ich wohl eine JS-Lösung für das bekannte double tap issue on IOS devices suchen.
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

lck
Posts: 2963
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: Tester gesucht für neues OnePage-Template SlideMeCrazy

Post by lck » Tue Jan 29, 2019 2:24 pm

lck wrote:
Tue Jan 29, 2019 1:56 pm
Besser, aber jetzt wird beim Aufruf der Seite der erste Link im Menü markiert und auch beim Klick auf das Logo. Das ist auch nicht richtig, da ja die Startseite/Intropage aufgerufen wird, da sollte nix markiert sein.
Noch etwas, gerade erst aufgefallen. Ist im Link-Text ein Leerzeichen, wird gar nichts markiert, schön zu sehen in den Zweitsprachen z.B. Englisch. Beim Aufruf der Seite wird der erste Link markiert, "Contact" und "News" werden, wenn aktiv, markiert.
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Tester gesucht für neues OnePage-Template SlideMeCrazy

Post by frase » Tue Jan 29, 2019 2:45 pm

lck wrote:
Tue Jan 29, 2019 2:24 pm
... schön zu sehen in den Zweitsprachen z.B. Englisch. Beim Aufruf der Seite wird der erste Link markiert, "Contact" und "News" werden, wenn aktiv, markiert.
Das ist auch in Deutsch bei "Template specific styles" so. :(

Evtl. ein Tipp (ist von 2016 - der Browsersupport ist mittlerweile besser [FF!])
https://css-tricks.com/annoying-mobile- ... ink-issue/

===
Bewunderung für deine Ausdauer!
Ich hätte wahrscheinlich schon hingeschmissen.
Kann die Sache gut nachvollziehen.

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Tester gesucht für neues OnePage-Template SlideMeCrazy

Post by cmb » Tue Jan 29, 2019 3:06 pm

Holger wrote:
Tue Jan 29, 2019 1:47 pm
Also ich wäre dafür, dass onepage.js entfällt und in Zukunft alles ins Template wandert.
Soll mir auch recht sein. Aber Ludwig hat ein gutes Argument bezüglich der Abwärtskompatibilität, und immerhin kann man ja jetzt schon onepage.js per Konfiguration ausschließen.
Holger wrote:
Tue Jan 29, 2019 1:47 pm
Und auch das mit der konfigurierbaren Zusazklasse "onepage_inner" halte ich nicht für gut. Was, wenn ein Template diese Klasse nutzt, der Eintrag aber nicht richtig konfiguriert ist? Und warum muss diese zusätzliche Klasse überhaupt konfigurierbar sein, wenn sie nicht stört?

Ich hatte ja mal vorgeschlagen, dass man im Template die Html-Struktur definieren kann. Das wäre doch viel flexibler, als eine Klasse per config.php bzw. überhaupt die ganze Vorgabe der Struktur per Plugin.
Siehe viewtopic.php?f=16&t=10396&p=52347#p52347. Letztlich ist das Zusammenspiel von onepage.js mit beliebigem HTML/CSS/JS praktisch unmöglich. Die derzeitige Lösung ist halt ein Kompromiss. Und ein Template kann ja klar dokumentieren, welche Einstellungen bei Onepage_XH vorgenommen werden müssen, und eventuell sogar ein config.php für Onepage_XH ausliefern.
lck wrote:
Tue Jan 29, 2019 1:56 pm
Besser, aber jetzt wird beim Aufruf der Seite der erste Link im Menü markiert und auch beim Klick auf das Logo. Das ist auch nicht richtig, da ja die Startseite/Intropage aufgerufen wird, da sollte nix markiert sein.
Ah, dann etwa so:

Code: Select all

function adjustMenuClasses() {
	$(".lck_nav .onepage_menu li").removeClass("iamselected");
	if (location.hash.length > 1) {
		$(".lck_nav .onepage_menu li a:contains('" + location.hash.substr(1) + "')").parent("li").addClass("iamselected");
	}
}
$(adjustMenuClasses);
$(window).on("hashchange", adjustMenuClasses);
Allerdings ist das wieder so ein Spezialfall, der allgemein nicht ohne weiteres berücksichtigt werden könnte.
lck wrote:
Tue Jan 29, 2019 2:24 pm
Noch etwas, gerade erst aufgefallen. Ist im Link-Text ein Leerzeichen, wird gar nichts markiert, schön zu sehen in den Zweitsprachen z.B. Englisch. Beim Aufruf der Seite wird der erste Link markiert, "Contact" und "News" werden, wenn aktiv, markiert.
Das hatte ich weiter oben auch kurz erwähnt (Stichwort Sonderzeichen im Namen). Statt gemäß dem Inhalt des Anchors zu selektieren, sollte man wohl dessen href Attribut nutzen, also etwa:

Code: Select all

function adjustMenuClasses() {
	$(".lck_nav .onepage_menu li").removeClass("iamselected");
	if (location.hash.length > 1) {
		$(".lck_nav .onepage_menu li a[href$='" + location.hash.substr(1) + "']").parent("li").addClass("iamselected");
	}
}
$(adjustMenuClasses);
$(window).on("hashchange", adjustMenuClasses);
Christoph M. Becker – Plugins for CMSimple_XH

Holger
Site Admin
Posts: 3470
Joined: Mon May 19, 2008 7:10 pm
Location: Hessen, Germany

Re: Tester gesucht für neues OnePage-Template SlideMeCrazy

Post by Holger » Tue Jan 29, 2019 3:28 pm

cmb wrote:
Tue Jan 29, 2019 3:06 pm
Holger wrote:
Tue Jan 29, 2019 1:47 pm
Und auch das mit der konfigurierbaren Zusazklasse "onepage_inner" halte ich nicht für gut. Was, wenn ein Template diese Klasse nutzt, der Eintrag aber nicht richtig konfiguriert ist? Und warum muss diese zusätzliche Klasse überhaupt konfigurierbar sein, wenn sie nicht stört?

Ich hatte ja mal vorgeschlagen, dass man im Template die Html-Struktur definieren kann. Das wäre doch viel flexibler, als eine Klasse per config.php bzw. überhaupt die ganze Vorgabe der Struktur per Plugin.
Siehe viewtopic.php?f=16&t=10396&p=52347#p52347. Letztlich ist das Zusammenspiel von onepage.js mit beliebigem HTML/CSS/JS praktisch unmöglich. Die derzeitige Lösung ist halt ein Kompromiss. Und ein Template kann ja klar dokumentieren, welche Einstellungen bei Onepage_XH vorgenommen werden müssen, und eventuell sogar ein config.php für Onepage_XH ausliefern.
Im Prinzip haben wir jetzt genau das Problem, was ich im damaligen Thread versucht habe zu umgehen (siehe meine Antwort direkt darunter). Durch die Festlegungen sind nunmal auch die Möglichkeiten festgenagelt. Und das müsste nicht sein.

Und was Updates Betrifft: auch ein Template könnte man ja updaten und die Anpassungen beim OnePage-Plugin dokumentieren. Wenn ich mir überlege, was in der Vergangenheit nach jQuery-Updates alles nachgebessert werden musste... Aber im schlimmsten Fall fehlen halt die Komfortfunktionen der onepage.js. Die Seite würde aber nach wie vor laufen. Eine eventuell weiterhin mitgelieferte onepage.js könnte dann ja manuell eingebunden werden.

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Tester gesucht für neues OnePage-Template SlideMeCrazy

Post by cmb » Tue Jan 29, 2019 5:05 pm

Holger wrote:
Tue Jan 29, 2019 3:28 pm
Im Prinzip haben wir jetzt genau das Problem, was ich im damaligen Thread versucht habe zu umgehen (siehe meine Antwort direkt darunter). Durch die Festlegungen sind nunmal auch die Möglichkeiten festgenagelt. Und das müsste nicht sein.

Und was Updates Betrifft: auch ein Template könnte man ja updaten und die Anpassungen beim OnePage-Plugin dokumentieren. Wenn ich mir überlege, was in der Vergangenheit nach jQuery-Updates alles nachgebessert werden musste... Aber im schlimmsten Fall fehlen halt die Komfortfunktionen der onepage.js. Die Seite würde aber nach wie vor laufen. Eine eventuell weiterhin mitgelieferte onepage.js könnte dann ja manuell eingebunden werden.
Der Punkt ist doch: wenn die Struktur vom Template völlig frei gewählt wird (und das ist ja möglich), dann funktioniert bei onepage.js praktisch nichts mehr, einfach weil die verwendeten Selektoren ins Leere greifen. Daher:
Also Vorschlag, nach Wahl des Designers:
  • Simple Variante: weitgehend fest vorgegebene Struktur (so wie derzeit) mit JS out-of-the-box
  • Komplexe Variante: flexible Seitenstruktur (und Menüstruktur?) ganz ohne vorgegebenes JS
Dabei denke ich auch daran, dass beliebiges JS unter Umständen einfach nicht zusammenspielt. Wird nur onepage.js verwendet, dann sollte alles passen (modulo bestehende Bugs); kommen noch andere Skripte zum Einsatz, dann eben unter Umständen nicht. Und in letzterem Fall sollte der Templatedesigner/Webmaster eben einfach auf onepage.js verzichten.

Und klar, auch das Template kann aktualisiert werden. Das Problem ist aber, dass der Update-Check meldet, dass eine neuere Version von Onepage_XH verfügbar ist, und der Anwender die neue Version installiert, und dann bemerkt, dass das Template nicht mehr funktioniert. Und dann?
Christoph M. Becker – Plugins for CMSimple_XH

Post Reply