Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Seit nostromo/framework 6.5.113 kann Framework-zugehöriger Javscript-Code direkt in den PHP-Repositories untergebracht werden. Die Ordnerstruktur dazu muss wie folgt aussehen, am Beispiel das controls-Projektes:

Alle .js-Dateien werden automatisch minified und in der gleichen Struktur nach www/js/components/nostromo/controls kopiert. Die Unterordner nostromo/controls sind für jedes Projekt anders und entsprechen dem Namen in der composer.json.

Ein Script requiren

Die Skripte werden automatisch registriert und können wie folgt in PHP required werden:

Javascript::requireLibrary('nostromo/controls/DataControls/GridControl');

Der Namespace beginnt hierbei immer mit dem Projektnamen, z.B. nostromo/controls. Danach folgt ein Schrägstrich und die Ordner-Struktur im im resources/js/-Ordner des Projektes, z.B. DataControls/GridControl. Die Endung ‘.js’ wird weg gelassen!

Internationalisierung

Wie oben im Bild zu sehen, existiert eine i18n.php-Datei. Mit dieser kann angegeben werden, welche Strings im Javascript-Code übersetzt werden müssen. Ein Beispiel:

<?php

use NewFrontiers\Framework\Output\Strings;

return [
    'are.you.sure.key',
    'please wait',
    'Error',
    'The request could not be executed.',
    Strings::GESPEICHERT,
    Strings::GELOESCHT,
];

Hier wird nur angegeben, welche Strings für Javascript verfügbar sein müssen. Die eigentliche Übersetzung wird wie gewohnt in PHP erledigt und muss deshalb im i18n-Ordner des Projektes hinterlegt werden.

Todo

Aktuell können nur einzelne Scripts required werden. In Zukunft sollen auch Ordner required werden können, wie z.B.

  • nostromo/controls/DataControls

  • nostromo/controls

Minify übergehen

Aus Debugging-Gründen kann das minify der .js-Dateien übergangen werden. Dazu muss composer install mit der Environment-Variable NOSTROMO_MINIMIZE_JS=off ausgeführt werden. In einer Shell z.B. durch

NOSTROMO_MINIMIZE_JS=off composer install

Oder unter Windows mit dem set-Befehl.

  • No labels