Hoi an alle ;)
mal ne bescheidene Frage: Wie bindet man denn nun Javascripte usw richtig ein?
Denn irgendwann gab es mal ein Programmers-Guide - Regeln für die pragmaMx Core-Entwicklung, dort stand für alle kommenden Versionen sollen gewisse Sachen nicht mehr in root oder Systemverzeichnisse vom pmx gelegt werden. Deswegen hier die Frage, welche Version ist denn ab pmx-Version 1.12.3.1.33.4.14 richtig. funktionieren tun beide nur das bei der ersten Lösung immer noch oder bzw wieder Sachen in Systemverzeichnisse kommen und bei der zweite Variante nicht:
pmxHeader::add_jquery('jquery.simplemodal.js');
das setzt vorraus das alles in das Verzeichnis includes/javascript/jquery/ kommt
pmxHeader::add('<script type="text/javascript" src="modules/'.$module_name.'/javascript/jquery.simplemodal.js"></script>');
und hier kann man alles im Modul Verzeichnis belassen
Aber wie ist es denn nun richtig in Bezug auf die Zukunft?
Gruss und einen heissen Sommerabend pyr0
Alles was Du Global verfügbar haben must/willst:
pmxHeader::add_jquery('jquery.simplemodal.js');
Also "pmx-root/includes/javascript/jquery/mein-script.js".
Und was nur in einen Modul verfügbar sein soll, im Modul:
In der Modulfile:
pmxHeader::add_script(PMX_MODULES_PATH . MX_MODULE . '/Modul-javascript-ordner/deine-js.js'); // Ab pmx 2.0
pmxHeader::add_script(PMX_MODULES_PATH . $module_name . '/Modul-javascript-ordner/deine-js.js'); // Bis pmx 1.12.3.x
<Edit>
Wenn es nur ein jQuery-Script ist:
pmxHeader::add_jquery(PMX_MODULES_PATH . MX_MODULE . '/Modul-javascript-ordner/deine-js.js'); // Ab pmx 2.0
pmxHeader::add_jquery(PMX_MODULES_PATH . $module_name . '/Modul-javascript-ordner/deine-js.js'); // Bis pmx 1.12.3.x
Dann werden dieverse jQuery Core Files geladen (nachzulesen in der API)
</Edit>
und was per Theme gehen soll (bootstrap/jQuery-UI) dann über die Theme:
pmxHeader::add_script(MX_THEME_DIR . '/js/jquery.min.js');
Achso, noch was:
Scripte, die schon in pmx-root/includes/javascript/, pmx-root/includes/javascript/jquery/ und pmx-root/includes/javascript/jquery/ui liegen, brauchst Du nicht ins Modul kopieren.
Die bindest Du dann mit
pmxHeader::add_script(PMX_JAVASCRIPT_PATH . '/javascript.js');
mit
pmxHeader::add_jquery('jquery.beispiel.js');
oder
pmxHeader::add_jquery('ui/jquery.beispiel.js');
ein.