Page 2 of 21

Re: Onepage_XH: (s)doc(s)

Posted: Mon May 06, 2019 8:34 pm
by lck
frase wrote:
Mon May 06, 2019 3:40 pm
H2 kann ich nicht dazunehmen, weil die einzelnen Seiten ja jeweils mit h1 beginnen und diverse Unter-Überschriften haben - die ich gar nicht anspringen will.
:? mal so ein Gedanke. Akzeptiert anchorific so etwas?

Code: Select all

headers: '.onepage_page h1, .onepage_page h2.ml2, .onepage_page h3.ml3'
Dann könnte man die Unterseiten dementsprechend mit <h2 class="ml2"> und <h3 class="ml3"> beginnen und somit werden nur diese Seiten ins Menü integriert.

Re: Onepage_XH: (s)doc(s)

Posted: Mon May 06, 2019 8:59 pm
by Holger
Hmm, also so richtig verstehe ich nicht, warum das mit anchorific nicht klappt :? .
Aber ganz ohne Demo / Beispiel ist es auch schwer zu prüfen.
Notfalls müsste ich da mal etwas aufsetzen, was ich mir aus Zeitgründen aber eigentlich sparen wollte.
frase wrote:
Mon May 06, 2019 3:40 pm
Woher soll anchorific auch wissen, dass es Level2 (oder höher) gibt.
Okay, wenn die Inhalte der Seiten, unabhängig vom Menülevel, zum Beispiel immer mit h1 - Überschriften beginnen, dann kann anchorific.js das natürlich nicht abbilden. Aber das Verhalten, wie im oben gezeigten Bild, verstehe ich jetzt auch nicht.

Hast Du noch die alte Demo mit jquery.onepage.js auf dem Schirm: http://holgerirmler.de/op_jquery/ ?
Die habe ich eben mal kopiert, Menulevels auf 3 gestellt, Sonderzeichen per Urichar_org / new gefiltert (z.B. :, ", usw. ersetzt) und den Uri-Sparator von / auf _ geändert. Damit gab es dann keine ungültigen IDs mehr, die JS-Fehler warfen.
Ohne weitere Änderungen schaut das dann so aus (Menülevel zur Sichtbarkeit um 20px eingerückt): http://holgerirmler.de/op_jquery2/

Kommt das dann dem nahe, was Du möchtest?

Re: Onepage_XH: (s)doc(s)

Posted: Mon May 06, 2019 9:31 pm
by cmb
Holger wrote:
Mon May 06, 2019 8:59 pm
Uri-Sparator von / auf _ geändert.
Das klingt interessant! Beim Ermitteln der aktuell angescrollten Seite wird das Ergebnis bei onepage.js mit encodeURIComponent() behandelt. Lautet die Seiten-ID z.B. "foo/bar", dann wird daraus "foo2%bar". Beim Suchen im Menü wird aber nicht URI-kodiert, so dass die Seite nicht gefunden werden kann. Wäre vielleicht einen Versuch wert diese Zeile durch folgende zu ersetzen:

Code: Select all

return page.id;

Re: Onepage_XH: (s)doc(s)

Posted: Mon May 06, 2019 9:56 pm
by Holger
cmb wrote:
Mon May 06, 2019 9:31 pm
Holger wrote:
Mon May 06, 2019 8:59 pm
Uri-Sparator von / auf _ geändert.
Das klingt interessant! Beim Ermitteln der aktuell angescrollten Seite wird das Ergebnis bei onepage.js mit encodeURIComponent() behandelt. Lautet die Seiten-ID z.B. "foo/bar", dann wird daraus "foo2%bar". Beim Suchen im Menü wird aber nicht URI-kodiert, so dass die Seite nicht gefunden werden kann. Wäre vielleicht einen Versuch wert diese Zeile durch folgende zu ersetzen:

Code: Select all

return page.id;
Das bezog sich doch auf meine alte Variante mit jQuery (siehe Links weiter oben).

Re: Onepage_XH: (s)doc(s)

Posted: Mon May 06, 2019 10:19 pm
by Holger
Gut, ich hab' dann auch mal eine Testumgebung aufgesetzt.

Mit dem Original-JS geht es in der Tat nicht und ich sehe auch nicht, wie ich das einfach anpassen könnte.
Außerdem funktioniert die Plugin-Version aus dem Master auch nicht mehr, da dort alles größer Menülevel 1 ignoriert wird.

Ich habe dann ein neues XH 1.7.2 mit Demo-Content und OnePage_XH 1.0beta3 genommen und die onepage.min.js durch meine jQuery-Version ersetzt. Ein paar Dinge musste ich zurückbauen (Selektor für das Menü ist jetzt .onepage_menu und bei mir hatten nur Links mit der Klasse "scrollTo" das weiche scrollen ausgelöst - damit man die Klasse auch im Content verwenden konnte).

Mit den kleinen Anpassungen läuft es jetzt:
http://holgerirmler.de/op_sub_test/

Allerdings musste ich auch den Uri-Separator umstellen (/ -> _), sowie die Zeichen []() und den Punkt (.) durch Leerzeichen ersetzen, da mein jQuery noch kein URL-Encoding integriert hat. Das alleine, also nur URL-Encoding, genügt aber eh nicht um sicher gültige Hashes zu erzeugen (siehe Änderungen bei anchorific.js).

@Frank: Du kannst das ja mal mit meinem jQuery testen: http://holgerirmler.de/op_sub_test/plug ... age.min.js
(jQuery-Autolad anschalten).

Allerdings wird die Sache nicht mehr laufen, wenn die Version aus dem Master zum Release wird. Vielleicht sollten wir das noch einmal überdenken? Auch denke ich jetzt wehmütig wieder an Dinge wie die Klassen scrollTo und active (und eigentlich auch die per Template beeinflussbare Content-Struktur) :? .

Re: Onepage_XH: (s)doc(s)

Posted: Tue May 07, 2019 6:18 am
by frase
Wahnsinn. Ich dachte schon, hier ist alles tot - und da kniet ihr euch plötzlich so rein ... DANKE!

Ich werde die Vorschläge mal Stück für Stück durchprobieren und dann Bericht erstatten.
Das geht natürlich nicht so schnell.

Bis denne.

Ich muss mich also noch nicht auf JoomlPressTypo o.Ä. verlegen ;-)

Re: Onepage_XH: (s)doc(s)

Posted: Tue May 07, 2019 6:50 am
by frase
Erste Antwort an Ludwig:
lck wrote:
Mon May 06, 2019 8:34 pm
frase wrote:
Mon May 06, 2019 3:40 pm
H2 kann ich nicht dazunehmen, weil die einzelnen Seiten ja jeweils mit h1 beginnen und diverse Unter-Überschriften haben - die ich gar nicht anspringen will.
:? mal so ein Gedanke. Akzeptiert anchorific so etwas?

Code: Select all

headers: '.onepage_page h1, .onepage_page h2.ml2, .onepage_page h3.ml3'
Dann könnte man die Unterseiten dementsprechend mit <h2 class="ml2"> und <h3 class="ml3"> beginnen und somit werden nur diese Seiten ins Menü integriert.
Die Überlegung ist völlig richtig und funktioniert auch. Anchorific akzeptiert solche Selektoren.
Im Menü tauchen dann wirklich nur diese Überschriften auf - sind aber immer noch nicht zu unterscheiden.
Das hilft also vorläufig noch nicht weiter.
Trotzdem: Danke!

Re: Onepage_XH: (s)doc(s)

Posted: Tue May 07, 2019 10:30 am
by lck
frase wrote:
Tue May 07, 2019 6:50 am
Die Überlegung ist völlig richtig und funktioniert auch. Anchorific akzeptiert solche Selektoren.
Im Menü tauchen dann wirklich nur diese Überschriften auf - sind aber immer noch nicht zu unterscheiden.
Das hilft also vorläufig noch nicht weiter.
Also, selber mal getestet, bei mir funktioniert es.
 
anchorific-multilevel.gif
anchorific-multilevel-02.gif
 
System: XH 1.7.2, Onepage 1.0beta3, Template fhs-anchorific-pure
Im Template habe ich lediglich die Ausgabe des Inhalts angepasst zu <?=onepage_content();?>, das vertikale horizontale Menü ausgeblendet und die anchorific.min.css erweitert, damit ml2 nicht standardmäßig im Menü eingelendet wird.

Code: Select all

.anchorific ul ~ ul li ul {
	display: none;
}

Re: Onepage_XH: (s)doc(s)

Posted: Tue May 07, 2019 10:46 am
by frase
lck wrote:
Tue May 07, 2019 10:30 am
Also, selber mal getestet, bei mir funktioniert es.
Dann muss ich mir das eben auch nochmal genauer anschauen.
Bei meinem Test gab es kein menulevel2.
Ich werde berichten.

Re: Onepage_XH: (s)doc(s)

Posted: Tue May 07, 2019 10:51 am
by lck
Ich habe mal eine Demo online gestellt.
Unter DEMO-PAGE 1 und DEMO-PAGE 4 sind Unterseiten.