WBCE Home | WBCE Hilfe | WBCE Addon Repository | Impressum | Datenschutz

WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

You are not logged in.

#1 17.06.2017 10:46:49

kleo
Member

Laden von Scripten

Das Thema habe ich schon am Rande einer Diskussion gehabt, möchte aber besser verstehen, was eigentlich passiert.

Und zwar:

- wenn eine Webseite keine Module und keine Template verwendet, die jQuery benötigen, werden die jQuery Scripts nicht geladen.

- wenn aber eine einzelne Seite ein Modul mit jQuery beinhaltet, werden auch beim Aufruf anderen jQuery freien Seiten trotzdem jQuery Scripts geladen. Richtig?

Was passiert, wenn ein Template jQuery Scripts benötigt (was zu Folge hat. dass es diese irgendwo in der index.php stehen) und dazu ein (oder mehrere) Modul (-e) auch jQuery Scripts lädt (laden)? Werden gleiche Scripts doppelt geladen?

Spielt die Reihenfolge der zu ladenen Scripts dabei eine Rolle?

Offline

#2 17.06.2017 11:32:42

florian
Administrator

Re: Laden von Scripten

- wenn eine Webseite keine Module und keine Template verwendet, die jQuery benötigen, werden die jQuery Scripts nicht geladen.

Das stimmt so nicht. jQuery wird immer geladen, wenn im Template register_frontend_modfiles('jquery') im <head> aufgerufen wird, unabhängig davon, ob es tatsächlich benötigt wird oder nicht.
Module laden dann ihre eigenen erforderlichen Scripte, wenn im Template register_frontend_modfiles('js') steht. Dies muss, da spielt die Reihenfolge eine Rolle, register_frontend_modfiles('jquery') notiert werden. Allerdings bezieht sich das nur auf die frontend.js des jeweiligen Moduls.
jQuery-Plugins, die von Scripten benötigt werden, sind dann entweder in der view.php des Moduls hart codiert (z.B. MiniGallery v2) oder werden in den Moduleinstellungen aufgerufen (z.B. Itemz).
Es ist geplant, dass dies zukünftig flexiber gehandhabt werden kann, es da dann Insert-Klassen geben.

Theoretisch kann es passieren, dass jQuery-Core oder jQuery-Plugins doppelt geladen werden, wenn z.B. im Template bereits jquery geladen wird und ein älteres Modul keine Prüfung durchführt, ob dies erfolgt ist, und sein eigenes älteres jQuery lädt. Das ist aber eher die Ausnahme.

Wenn im Template oder über Snippets (Stichwort colorbox) bereits jQuery-Plugins geladen werden, kann es dazu kommen, dass es zu doppeltem Laden kommt, wenn Module dieselben Scripte verwenden. Dann muss man ggf. Anpassungen am Modul vornehmen und  die entsprechenden Zeilen auskommentieren.

Die Reihenfolge: Template -> register_frontend_modfiles -> view.php des Moduls (glaube ich)
Mir ist dunkel so, dass es noch register_frontend_body gäbe. Bin mir da aber gerade nicht sicher.

Wenn ein Modul auf einer Seite nicht verwendet wird, erfolgt in keinem Falle das Laden der modulspezifischen Scripte.


Nicht ärgern. Nur wundern.

Offline

#3 17.06.2017 19:55:35

grindmobil
Guest

Re: Laden von Scripten

Die Reihenfolge im <head> muss immer sein:
register_frontend_modfiles('jquery')
register_frontend_modfiles('js')

Weil JS bereits auf jQuery zugreifen kann.

Manchmal hört man Tipps, dass jQuery erst am Ende des body eingehängt werden soll.  Das sind so eher "theoretische Gedanken":
Der Hintergrund ist, dass ab dem <script> der Seitenaufbau unterbrochen wird, bis das Script vorhanden ist und dadurch die Darstellung etwas länger braucht.
In der Praxis ist das aber so: Du musst genau wissen, was du da tust. Es können Fehler auftreten, und du musst dann selbst herausfinden, warum. Und das auch selbst bereinigen können.
Wenn du nicht wirklich sattelfest bist, wird die Bereinigung letztlich so enden, dass du jQuery schon im head lädst. Das hättest du einfacher haben können ;-)

Sonstiges:
Wenn ein Modul dadurch deaktiviert wurde, dass die Zeiteinstellungen der Abschitte geändert wurde, wird frontend.css / frontend.js trotzdem geladen. Ebenso bei einem Block ""None" oder so. (Klar)

Liked by:

florian

#4 17.06.2017 21:31:57

kleo
Member

Re: Laden von Scripten

Ich bastele jetzt an einer HTML-Template, da wird  aus einem Unterverzeichnis des Template zum Schluß vor dem </body> tag geladen.
Wenn ich eine Seite im WBCE aufrufe, steht  jQuery im Quelltext dann oben von einem Modul geladen. Das heißt, dass  jQuery doppelt geladen wird.

Wenn keine besonderen Module (sprich nur Text-Abschnitte) verwendet werden, wird  jQuery nicht geladen und einige Sachen funktionieren beim Template nicht.

Was wäre in diesem Fall eine angemessene Lösung?

Offline

#5 17.06.2017 21:45:23

grindmobil
Guest

Re: Laden von Scripten

Die Lösung wäre: sattelfest sein.
Bist du das?

#6 17.06.2017 22:19:02

florian
Administrator

Re: Laden von Scripten

Na, na.

@kleo:
Ich bin felsenfest davon überzeugt, dass wenn register_frontend_modfiles('jquery') im Template steht, jq _immer_ geladen wird, egal ob konkret benötigt oder nicht.
Eine andere Option: Wenn Du eine bestimmte jq-Version laden willst und/oder dies wirklich erst vor dem </body> passieren soll, steht des Dir frei, auf register_frontend_modfiles('jquery') zu verzichten, und statt dessen jq über CDN zu laden oder die gewünschte jq ins Templateverzeichnis zu legen und dann mit <script src="<?php echo TEMPLATE_DIR; ?>/meine-jquery-datei.js"></script> zu laden.


Nicht ärgern. Nur wundern.

Offline

#7 17.06.2017 22:34:04

kleo
Member

Re: Laden von Scripten

grindmobil wrote:

Die Lösung wäre: sattelfest sein.
Bist du das?

Bin ich nicht.

Und gerade deshalb frage ich hier bei denen, die sattelfest sind.
Und versuche mich zu verbessern.
Etwas kluger. etwas erfahrener, etwas intelligenter zu werden...

Offline

Liked by:

florian, thanks

#8 17.06.2017 22:35:23

florian
Administrator

Re: Laden von Scripten

Poste doch mal einen Link oder den Code, der Probleme macht. Sonst ist es schwierig, zu helfen. Es ist wirklich von zu vielen Faktoren abhängig, was funktioniert und was nicht.


Nicht ärgern. Nur wundern.

Offline

#9 17.06.2017 22:53:59

kleo
Member

Re: Laden von Scripten

ich versuche dieses Template für WBCE zu portieren:

https://html5up.net/txt

Eigentlich funktioniert alles, wo ich mir aber nicht sicher bin: die jQuery scripts werden da in der index.html zum Schluß geladen und die

jQuery v1.11.3 ist eine andere. als im WBCE jQuery v1.12.4

Offline

#10 17.06.2017 22:58:48

florian
Administrator

Re: Laden von Scripten

Wenn alles funktioniert, ist doch alles in Ordnung ;-)

Ich schaue mir das die Tage mal genauer an. Sieht jetzt erstmal nicht so problematisch aus.


Nicht ärgern. Nur wundern.

Offline

#11 18.06.2017 09:02:42

grindbatzn
Guest

Re: Laden von Scripten

Nein, das ist nicht problematisch. Läuft mit Standard-jQuery.
Ich habs mit ein paar mal Suchen/Ersetzen gleich zum Laufen gebracht.
Abgesehen vom Menü (Zicke showmenu2)  - da ist Florian Spezialist.
Menu hab ich auch schon.

Last edited by grindbatzn (18.06.2017 09:19:50)

Liked by:

florian

#12 18.06.2017 10:20:02

grindbatzn
Guest

Re: Laden von Scripten

Sodanna, ich hab mir das Ding mal interessehalber genauer angesehen...

So wirklich "einfach" ist das nicht. Das CSS ist ziemlich undurchsichtig und sehr umfangreich. Die editor.css muss man sich selbst zusammensuchen, und das sollte man auch, weil die Headlines tw verdreht sind (h2 groß, h1 ziemlich klein)

Um das ganze verwendbar zu machen, muss man die ganzen html-Stückchen (auf der Startseite) herauskopieren und per Code2-Abschnitt reinbringen. Oder itemz.

Angehängt einfach mal der Status, wie ich es schnell mal gemacht habe.

Liked by:

florian, byteworker

#13 18.06.2017 11:47:44

kleo
Member

Re: Laden von Scripten

Ich habe mir dieses Template ausgesucht, weil es etwas anderes aussieht, als viele fertigen Templates.

Übrigens: der große Nachteil von WB war eine Zeit lang, dass es kaum neue und ANDERE Templates gab.
Es wird meiner Meinung nach dem Projekt WBCE sicherlich gut tun, wenn es bezüglich Template anderes. als bei WB geht.

Vielleicht sollte man einen speziellen Tread eröffnen, wo Mitforisten ihreVorstellungen, Wünsche und auch bestimmte Techniken und Grundregeln bezüglich WBCE-Templates veröffentlicht werden.

Ich kann mir ein Pool von Elementen und Blöcken wie ein Baukasten vorstellen, womit ein eigenes Template schnell erstellen lässt.
Ein paar Varianten des Grundgerüstes, wo einzelne Bereiche definiert sind, verschiedene Menüs, verschiedene geprobe Sets von Schriftarten, Sets von Icons zu Socialnetzwerken, Bezahlsystemen und ect., aber auch Varianten von Gestalltungen einzelnen Blocks.

Vielleicht wäre es auch Sinnvoll dafür eine Richtlinie für WBCE-Templates zu erstellen, sowas wie ein Grundgerüst von einzelnen Blöcken, welches nach Wunschen mit Elementen aus diesem Pool gefühlt werden kann.

Offline

#14 18.06.2017 11:57:05

kleo
Member

Re: Laden von Scripten

grindbatzn wrote:

Sodanna, ich hab mir das Ding mal interessehalber genauer angesehen...

So wirklich "einfach" ist das nicht. Das CSS ist ziemlich undurchsichtig und sehr umfangreich. Die editor.css muss man sich selbst zusammensuchen, und das sollte man auch, weil die Headlines tw verdreht sind (h2 groß, h1 ziemlich klein)

Um das ganze verwendbar zu machen, muss man die ganzen html-Stückchen (auf der Startseite) herauskopieren und per Code2-Abschnitt reinbringen. Oder itemz.

Angehängt einfach mal der Status, wie ich es schnell mal gemacht habe.

D A N K E      C h i o!!!

Ich habe "mein Werk" mit deinem "Status" vergliechen und bin froh, dass ich selbst vieles genauso gemacht habe!

Offline

#15 18.06.2017 12:52:53

kleo
Member

Re: Laden von Scripten

Hallo Chio,

ich suche vergeblich, wo ich bei diesem Template das Wort "UNDEFINED" bei der Darstellung am Handy durch Website Titel ändern kann.

kannst Du mir helfen?

Offline

#16 18.06.2017 13:47:56

grindbatzn
Guest

Re: Laden von Scripten

Ich habe keine Ahnung, was du meinst.

#17 18.06.2017 14:13:22

kleo
Member

Re: Laden von Scripten

Verkleinere bitte das Browserfenster bis zum Handygröße, sodass das Menu oben verschwindet.
Dann erscheint an der Stelle von Menüleiste eine schwarze Leiste mit dem Überschrift "UNDEFINED".

Da soll z.B. Website Titel oder das Logo erscheinen.

Offline

#18 18.06.2017 14:17:52

grindbatzn
Guest

Re: Laden von Scripten

Bei mir steht da kein Undefined.

"undefined" kommt normalerweise über Javascript daher. Du hast also wahrscheinlich einen Javascript-fehler.
Weißt du, was die Fehlerconsole ist? Werden dir da Fehler angezeigt?

Last edited by grindbatzn (18.06.2017 14:48:52)

#19 18.06.2017 14:51:34

kleo
Member

Re: Laden von Scripten

Ich habe es gefunden:
ich habe die div id geändert, dadurch war der Fehler da.
Dank deiner index.php habe ich schnell feststellen können.

D A N K E !!!

Offline

#20 18.06.2017 16:54:38

grindbatzn
Guest

Re: Laden von Scripten

Bei dem Teil würde ich sicher keine IDs oder Klassen ändern.

Liked by:

thanks

Board footer

Powered by FluxBB

up