WBCE CMS – Way Better Content Editing.
Du bist nicht angemeldet.
Hallo!
Bin wieder mal beim Aufräumen.
Ich hab da ein Modul, das eigentlich nicht mehr braucht als ein
<script src="{WB_URL}/modules/page_toolbox/starttoolbox.js" type="text/javascript"></script>
am Ende jeder Backend-Seite.
Kann ich das auch irgendwie automatisch haben, also dass dieses JS ohne Änderung am Theme eingehängt wird?
Also so wie Cookie Consent, nur eben im Backend?
Beitrag geändert von choppopo (30.06.2021 20:12:32)
Die Themes wissen nicht was sich in einzelnen Modulen tut wenn die Module nicht explizit aufgerufen werden.
Wenn es ein AdminTool ist, wird es unter AdminTools aufgerufen, wenn das Modul ausgewählt ist.
Wenn es ein PageType Modul ist, eben dort (usw.)
Du musst das Script also tatsächlich manuell ins Theme einhängen.
Alternativ ließe sich (sehr) wahrscheinlich auch etwas über das OpF Dashboard machen, aber da bin ich momentan nicht auf dem Laufenden. Theoretisch würde Dein Modul ein OpF Plugin registrieren welches dann im gesamten Backend wirkt.
Gruß,
Christian
“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale
Offline
ja, eine coole Anwendung für einen Plugin-Filter, mal schnell zusammengeklickt und exportiert...
Offline
stefanek
Super Martin.
Vielen Dank.
Geht es nicht auch, dass man einen Filter im eigenen Modul mitliefert und diesen dann bei der Installation mit installiert/initialisiert?
Kleiner Änderungsvorschlag:
ich würde in der filter.php den Funktionsaufruf etwas ändern, statt
insertJsFile($uFileLoc=WB_URL."/modules/page_toolbox/starttoolbox.js", $sDomPos = 'BODY BTM-');
ohne die Parameter/Variablen
insertJsFile(WB_URL."/modules/page_toolbox/starttoolbox.js", 'BODY BTM-');
Schönen Gruß,
Christian
Beitrag geändert von stefanek (02.07.2021 01:23:28)
“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale
Offline
Klar, die filter.php kann man in ein anderes Modul reinpacken und den Aufruf aus der plugin_install.php mit in die install.php dieses Moduls, die Pfade anpassen und fertig.
Naja, und wenn man's als Teil eines Moduls ausliefert, dann muss man in der uninstall.php den Filter auch wieder abmelden, weil ja die filter.php ggf. mit dem Modul auch wieder deinstalliert wird. Das steht in der Hilfe unter Modul-Filter beschrieben.
Alternativ, wenn man den Filter bei der Deinstallation im System zurücklassen will (was ich nicht empfehlen würde), kann man auf die Abmeldung verzichten, sollte dann aber die Funktion nicht in einem File ablegen sondern als String im func-Parameter beim Registrieren des Filters mit übergeben. Das ist aber unschön, wenn man so nebenbei was ins System mogelt und bei der Deinstallation auch nicht wieder aufräumt.
Offline
stefanek
Hallo und Danke!
Der Filter tut genau was soll. So insgesamt verstehe ich aber nur Bahnhof ;-)
Das Modul - nennen wir es "page_toolbox": Was wäre das eigentlich für ein Typ: Ich hab mal $module_function = 'snippet'; gewählt, weil es nirgends auftauchen soll. Aber es soll natürlich auch deinstalliert werden können - und dabei den OPF wieder mitnehmen, sonst gibt es Fehler (404)
In der install.php sollte also auch der OPF installiert (und aktiviert) werden, in der uninstall.php soll auch der Filter deinstalliert werden.
Wie geht das?
In die uninstall.php könntest Du eine der OpF Funktionen verwenden, um das Plugin bei der Deinstallation zu löschen. (Alternativ: eine eigene Query reinschreiben, die in der DB das Plugin löscht.)
Damit kein Fehler erscheint könntest Du aber auch in der filter.php des Plugins die Funktion ändern:
function opff_insert_toolbox(&$content, $page_id, $section_id, $module, $wb) {
$file = '/modules/page_toolbox/starttoolbox.js';
if(file_exists(WB_PATH.$file)){
insertJsFile(WB_URL.$file, 'BODY BTM-');
}
return(TRUE);
}
Dann wird's auch nicht meckern.
“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale
Offline