$Language->get('Message:') liefert falschen Wert
Hallo Edi,
danke nochmal, das theme scheint jetzt zu laufen und im contact plugin wird jetzt die richtige message ausgegeben ...
Um mir zukünftig besser selbst und vielleicht auch einmal dem Projekt helfen zu können, habe ich noch ein paar Fragen ...
1) die Meldung, ob ein theme oder plugin kompatibel ist, richtet sich nur nach dem letzten Eintrag in metadata.json?
(z.B. "compatible": "1.3,1.4,1.5.2",)
2) im plugin contact wird jetzt die richtige message ausgegeben, ohne dass Code verändert wurde. Lag der Fehler im alten Kernel?
3)
a) Du hast die javascript Aufrufe aus head.php entfernt und in index.php gesetzt. Sollte das generell so sein und warum?
b) Ich habe noch js Aufrufe für IE in head.php eingebaut (js/ie/html5shiv.min.js und js/ie/respond.min.js). Sollte ich die dann auch nach index.php verschieben?
4) Du hast die Reihenfolge von js/vendor/what-input.min.js und js/foundation.min.js vertauscht - warum?
5) was war generell der Fehler, dass das theme mit dem neuen bludit nicht funktioniert hat? An Aufrufen in jquery.min.js ?
6) Du hast zusätzlich den Aufruf von HTML_PATH_THEME ?>js/vendor/jquery.min.js eingefügt (in Version 2.1.4), jetzt ist aber jquery.min.js (in einer neueren Version) doppelt eingebunden, weil ja schon vom Kernel /bl-kernel/admin/themes/default/js/jquery.min.js geladen wird (in Version 3.1.1).
a) Beißt sich das nicht? In C z.B. wäre das gar nicht möglich ... da liegen dann doch gleichnamige Funktionen im selben Sichtbarkeitsbereich? Wie wird dann sichergestellt, dass die richtige Funktion aufgerufen wird? Allerdings kenn ich mich mit js nicht aus ...
b) Hinzu kommt, dass dann 85 KB umsonst zum Client übertragen werden, oder? (Ist bei 'mobile first' immer zu beachten). Warum klappt es nicht rein mit der neuen Version von jquery, ist das nicht abwärtskompatibel?
7) Auch fällt noch auf, dass das Menü bei refresh flackert bzw. der Hamburger Button für die mobile version deutlich sichtbar wird auf dem Desktop bei chrome, Opera, aber nicht im firefox ... Woran liegt das?
8) Wie hast Du den Fehler gefunden bzw. wie genau debuggst Du?
lg
Karlheinz
danke nochmal, das theme scheint jetzt zu laufen und im contact plugin wird jetzt die richtige message ausgegeben ...
Um mir zukünftig besser selbst und vielleicht auch einmal dem Projekt helfen zu können, habe ich noch ein paar Fragen ...
1) die Meldung, ob ein theme oder plugin kompatibel ist, richtet sich nur nach dem letzten Eintrag in metadata.json?
(z.B. "compatible": "1.3,1.4,1.5.2",)
2) im plugin contact wird jetzt die richtige message ausgegeben, ohne dass Code verändert wurde. Lag der Fehler im alten Kernel?
3)
a) Du hast die javascript Aufrufe aus head.php entfernt und in index.php gesetzt. Sollte das generell so sein und warum?
b) Ich habe noch js Aufrufe für IE in head.php eingebaut (js/ie/html5shiv.min.js und js/ie/respond.min.js). Sollte ich die dann auch nach index.php verschieben?
4) Du hast die Reihenfolge von js/vendor/what-input.min.js und js/foundation.min.js vertauscht - warum?
5) was war generell der Fehler, dass das theme mit dem neuen bludit nicht funktioniert hat? An Aufrufen in jquery.min.js ?
6) Du hast zusätzlich den Aufruf von HTML_PATH_THEME ?>js/vendor/jquery.min.js eingefügt (in Version 2.1.4), jetzt ist aber jquery.min.js (in einer neueren Version) doppelt eingebunden, weil ja schon vom Kernel /bl-kernel/admin/themes/default/js/jquery.min.js geladen wird (in Version 3.1.1).
a) Beißt sich das nicht? In C z.B. wäre das gar nicht möglich ... da liegen dann doch gleichnamige Funktionen im selben Sichtbarkeitsbereich? Wie wird dann sichergestellt, dass die richtige Funktion aufgerufen wird? Allerdings kenn ich mich mit js nicht aus ...
b) Hinzu kommt, dass dann 85 KB umsonst zum Client übertragen werden, oder? (Ist bei 'mobile first' immer zu beachten). Warum klappt es nicht rein mit der neuen Version von jquery, ist das nicht abwärtskompatibel?
7) Auch fällt noch auf, dass das Menü bei refresh flackert bzw. der Hamburger Button für die mobile version deutlich sichtbar wird auf dem Desktop bei chrome, Opera, aber nicht im firefox ... Woran liegt das?
8) Wie hast Du den Fehler gefunden bzw. wie genau debuggst Du?
lg
Karlheinz
hallo,
ich wollte noch ergänzen, dass das (noch nicht explizit geschilderte) Problem, dass das Menü immer ausgeklappt ist (wenn man das doppelte (alte) jquery.min.js wieder entfernt), scheinbar nur mit dem Chromebrowser nicht funktioniert (bei opera und firefox) seh ich das nicht. warum?
Könnte man das theme so anpassen (Aufrufe in jquery), dass es mit der neuen Version von jquery.min.js klarkommt?
lg
Karlheinz
ich wollte noch ergänzen, dass das (noch nicht explizit geschilderte) Problem, dass das Menü immer ausgeklappt ist (wenn man das doppelte (alte) jquery.min.js wieder entfernt), scheinbar nur mit dem Chromebrowser nicht funktioniert (bei opera und firefox) seh ich das nicht. warum?
Könnte man das theme so anpassen (Aufrufe in jquery), dass es mit der neuen Version von jquery.min.js klarkommt?
lg
Karlheinz
- Edi
- Site Admin
- Posts: 3121
- Joined: Sun Aug 09, 2015 5:01 pm
- Location: Zurich
- Has thanked: 54 times
- Been thanked: 77 times
- Contact:
Genau, geprüft wird der Eintrag in der Datei metadata.json.kwwd wrote:1) die Meldung, ob ein theme oder plugin kompatibel ist, richtet sich nur nach dem letzten Eintrag in metadata.json?
(z.B. "compatible": "1.3,1.4,1.5.2",)
Es wurden verschiedene Anpassungen seit v1.1.2 vorgenommen, was nun genau dafür verantwortlich war, müsste ich zuerst "rekonstruieren". Mit dem Code des Systems habe ich wenig zu tun.2) im plugin contact wird jetzt die richtige message ausgegeben, ohne dass Code verändert wurde. Lag der Fehler im alten Kernel?
Ich habe mich am Vorhandenen orientiert. "Best practice" ist das in diesem Fall wahrscheinlich nicht. JavaScript gehört entweder in den Header (zwischen <head> und </head>) oder in den Footer.3)
a) Du hast die javascript Aufrufe aus head.php entfernt und in index.php gesetzt. Sollte das generell so sein und warum?
b) Ich habe noch js Aufrufe für IE in head.php eingebaut (js/ie/html5shiv.min.js und js/ie/respond.min.js). Sollte ich die dann auch nach index.php verschieben?
Wo Skripte eingebunden werden sollen, ist von ihrer Funktion abhängig. Wenn sie für den Aufbau der Seite von Bedeutung sind, in den Header, wenn sie etwas bereitstellen, das beispielsweise erst bei einer bestimmten Aktion gebraucht wird, in den Footer. Das deshalb, weil Seiten immer von oben nach unten geladen beziehungsweise abgearbeitet werden. Skripte gewissermassen "auf Vorrat" werden deshalb im Footer untergebracht, wo sie den Aufbau der Seite nicht bremsen.
Deshalb aber gehören die JavaScripte für den IE in den Header.
Nur um da etwas Ordnung hereinzubringen.4) Du hast die Reihenfolge von js/vendor/what-input.min.js und js/foundation.min.js vertauscht - warum?
Die Datei jquery.min.js fehlte, dafür waren foundation.min.js und app.js doppelt vorhanden (einmal in der Datei head.php und einmal in der Datei index.php).5) was war generell der Fehler, dass das theme mit dem neuen bludit nicht funktioniert hat? An Aufrufen in jquery.min.js ?
Ich war auch der Meinung, jQuery sei Teil von Bludit. Es fehlte aber bei der Verwendung des Themes, so dass ich das von Foundation mitgelieferte Skript eingebunden habe. Sehr schlau ist das nicht und könnte vereinfacht werden. Derzeit wird es allerdings vom Theme so oder so mitgeliefert.6) Du hast zusätzlich den Aufruf von HTML_PATH_THEME ?>js/vendor/jquery.min.js eingefügt (in Version 2.1.4), jetzt ist aber jquery.min.js (in einer neueren Version) doppelt eingebunden, weil ja schon vom Kernel /bl-kernel/admin/themes/default/js/jquery.min.js geladen wird (in Version 3.1.1).
a) Beißt sich das nicht? In C z.B. wäre das gar nicht möglich ... da liegen dann doch gleichnamige Funktionen im selben Sichtbarkeitsbereich? Wie wird dann sichergestellt, dass die richtige Funktion aufgerufen wird? Allerdings kenn ich mich mit js nicht aus ...
b) Hinzu kommt, dass dann 85 KB umsonst zum Client übertragen werden, oder? (Ist bei 'mobile first' immer zu beachten). Warum klappt es nicht rein mit der neuen Version von jquery, ist das nicht abwärtskompatibel?
Ich habe mir das Theme nur mit Firefox auf dem Desktop-PC angesehen. Ich muss schauen, wie der Button gebaut ist.7) Auch fällt noch auf, dass das Menü bei refresh flackert bzw. der Hamburger Button für die mobile version deutlich sichtbar wird auf dem Desktop bei chrome, Opera, aber nicht im firefox ... Woran liegt das?
Vor allem mit dem Addon Firebug für Firefox. Das ginge aber auch mit den Entwicklertools der verschiedenen Browser.8) Wie hast Du den Fehler gefunden bzw. wie genau debuggst Du?
Clickwork - Websites mit Bludit | Planet Bludit - Tipps und Snippets
Hallo Edi,
danke schonmal für deine ausführlichen Antworten, da kann ich viel mit anfangen.
Aber eins bleibt für mich jetzt unklar ...
Meinst Du also, man könnte es zwar (mit wieviel Aufwand?) besser machen, aber man könnte es aber auch so laufen lassen, ohne dass Probleme zu erwarten sind (außer evt. der doppelten Übertragung)?
lg
Karlheinz
danke schonmal für deine ausführlichen Antworten, da kann ich viel mit anfangen.
Aber eins bleibt für mich jetzt unklar ...
Vor Upgrade auf bludit 1.5.2 war zur Laufzeit ja jquery von bludit eingebunden (aus /bl-kernel/admin/themes/default/js/jquery.min.js). Das sehe ich im browser (Quelltext anzeigen). Das muss ja dann vom Kernel geladen worden sein, im theme wurde es ja nicht eingebunden (gar kein jquery). Damit hat das theme aber funktioniert. Jetzt war es so, dass von bludit eine neue Version (3.1.1) geladen wird, damit hatte das theme nicht richtig funktioniert. Nach deinem Einbau des jquery vom theme path in das theme werden jetzt aber 2 jquery.min.js geladen. Darauf bezog sich meine Frage, ob das keine Probleme macht bzw. mich erstaunt das, dass es ggf. keine Probleme macht (Begründung 6a) bzw. siehe auch (6b), allerdings wie schon gesagt, von js keine richtige Ahnung ...6) Du hast zusätzlich den Aufruf von HTML_PATH_THEME ?>js/vendor/jquery.min.js eingefügt (in Version 2.1.4), jetzt ist aber jquery.min.js (in einer neueren Version) doppelt eingebunden, weil ja schon vom Kernel /bl-kernel/admin/themes/default/js/jquery.min.js geladen wird (in Version 3.1.1).
a) Beißt sich das nicht? In C z.B. wäre das gar nicht möglich ... da liegen dann doch gleichnamige Funktionen im selben Sichtbarkeitsbereich? Wie wird dann sichergestellt, dass die richtige Funktion aufgerufen wird? Allerdings kenn ich mich mit js nicht aus ...
b) Hinzu kommt, dass dann 85 KB umsonst zum Client übertragen werden, oder? (Ist bei 'mobile first' immer zu beachten). Warum klappt es nicht rein mit der neuen Version von jquery, ist das nicht abwärtskompatibel?
Ich war auch der Meinung, jQuery sei Teil von Bludit. Es fehlte aber bei der Verwendung des Themes, so dass ich das von Foundation mitgelieferte Skript eingebunden habe. Sehr schlau ist das nicht und könnte vereinfacht werden. Derzeit wird es allerdings vom Theme so oder so mitgeliefert
Meinst Du also, man könnte es zwar (mit wieviel Aufwand?) besser machen, aber man könnte es aber auch so laufen lassen, ohne dass Probleme zu erwarten sind (außer evt. der doppelten Übertragung)?
lg
Karlheinz
- Edi
- Site Admin
- Posts: 3121
- Joined: Sun Aug 09, 2015 5:01 pm
- Location: Zurich
- Has thanked: 54 times
- Been thanked: 77 times
- Contact:
Du hast recht. Ich denke, dass Foundation im Theme aufdatiert werden müsste. Beim Debuggen wurden jQuery-Fehler angezeigt, die nach dem Einbinden der jQuery-Datei des Themes weg waren. Umgekehrt wäre es allerdings besser...
Ich werde es einmal versuchen.
Ich werde es einmal versuchen.
Clickwork - Websites mit Bludit | Planet Bludit - Tipps und Snippets
- Edi
- Site Admin
- Posts: 3121
- Joined: Sun Aug 09, 2015 5:01 pm
- Location: Zurich
- Has thanked: 54 times
- Been thanked: 77 times
- Contact:
Das geht...
Versuche es einmal so:
1) Die unveränderten Dateien des Themes Foundation (doppelter Code hin oder her).
2) Die Verzeichnisse css und js ersetzt mit den Verzeichnissen von Foundation 6 ("Download Everything"):
http://foundation.zurb.com/sites/download.html/
Versuche es einmal so:
1) Die unveränderten Dateien des Themes Foundation (doppelter Code hin oder her).
2) Die Verzeichnisse css und js ersetzt mit den Verzeichnissen von Foundation 6 ("Download Everything"):
http://foundation.zurb.com/sites/download.html/
Clickwork - Websites mit Bludit | Planet Bludit - Tipps und Snippets
Moin Edi,
Einfach so ersetzen geht nicht, die app.css ist leer, da hab ich die alte genommen und von jquery.js und what-input.js sind im Download die minified Versionen nicht drin. Egal, wenn ich diese, also die aus dem download einbinde, bleibt in allen browsern das Menü immer ausgeklappt und der Hamburger sichtbar ...
Habe jetzt erst einmal alles wieder rückgängig gemacht ...
lg
Karlheinz
bei mir gehts nicht, hast Du das ausprobiert?Das geht...
Einfach so ersetzen geht nicht, die app.css ist leer, da hab ich die alte genommen und von jquery.js und what-input.js sind im Download die minified Versionen nicht drin. Egal, wenn ich diese, also die aus dem download einbinde, bleibt in allen browsern das Menü immer ausgeklappt und der Hamburger sichtbar ...
Habe jetzt erst einmal alles wieder rückgängig gemacht ...
lg
Karlheinz
- Edi
- Site Admin
- Posts: 3121
- Joined: Sun Aug 09, 2015 5:01 pm
- Location: Zurich
- Has thanked: 54 times
- Been thanked: 77 times
- Contact:
Zwischenbemerkung: Melde Dich doch vielleicht bei Gitter an, solche Dinge sind dort einfacher zu besprechen.
https://gitter.im/dignajar/bludit
https://gitter.im/dignajar/bludit
Clickwork - Websites mit Bludit | Planet Bludit - Tipps und Snippets