$Language->get('Message:') liefert falschen Wert

kwwd
Sr. Bludit
Posts: 33
Joined: Thu Oct 20, 2016 5:56 pm

Hallo Edi,

das ging ja schnell, ich danke Dir herzlich.

Ich meld mich nochmal, wenn ich es ausprobiert habe.

danke
Karlheinz
kwwd
Sr. Bludit
Posts: 33
Joined: Thu Oct 20, 2016 5:56 pm

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
kwwd
Sr. Bludit
Posts: 33
Joined: Thu Oct 20, 2016 5:56 pm

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
User avatar
Edi
Site Admin
Posts: 3121
Joined: Sun Aug 09, 2015 5:01 pm
Location: Zurich
Has thanked: 54 times
Been thanked: 77 times
Contact:

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",)
Genau, geprüft wird der Eintrag in der Datei metadata.json.
2) im plugin contact wird jetzt die richtige message ausgegeben, ohne dass Code verändert wurde. Lag der Fehler im alten Kernel?
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.
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?
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.

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.
4) Du hast die Reihenfolge von js/vendor/what-input.min.js und js/foundation.min.js vertauscht - warum?
Nur um da etwas Ordnung hereinzubringen.
5) was war generell der Fehler, dass das theme mit dem neuen bludit nicht funktioniert hat? An Aufrufen in jquery.min.js ?
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).
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.
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?
Ich habe mir das Theme nur mit Firefox auf dem Desktop-PC angesehen. :oops: Ich muss schauen, wie der Button gebaut ist.
8) Wie hast Du den Fehler gefunden bzw. wie genau debuggst Du?
Vor allem mit dem Addon Firebug für Firefox. Das ginge aber auch mit den Entwicklertools der verschiedenen Browser.
Clickwork - Websites mit Bludit | Planet Bludit - Tipps und Snippets
kwwd
Sr. Bludit
Posts: 33
Joined: Thu Oct 20, 2016 5:56 pm

Hallo Edi,

danke schonmal für deine ausführlichen Antworten, da kann ich viel mit anfangen.
Aber eins bleibt für mich jetzt unklar ...
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
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 ...

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
User avatar
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.
Clickwork - Websites mit Bludit | Planet Bludit - Tipps und Snippets
User avatar
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/
Clickwork - Websites mit Bludit | Planet Bludit - Tipps und Snippets
kwwd
Sr. Bludit
Posts: 33
Joined: Thu Oct 20, 2016 5:56 pm

Moin Edi,
Das geht...
bei mir gehts nicht, hast Du das ausprobiert?
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
User avatar
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
Clickwork - Websites mit Bludit | Planet Bludit - Tipps und Snippets
kwwd
Sr. Bludit
Posts: 33
Joined: Thu Oct 20, 2016 5:56 pm

hallo,
ja gerne mach ich ... der threadname passt auch nicht mehr ...

bis bald

Karlheinz
Post Reply