Im Acp Module vorgesetzte werte aus json

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
willstdueswissen
Mitglied
Beiträge: 47
Registriert: 22.01.2014 16:47

Im Acp Module vorgesetzte werte aus json

Beitrag von willstdueswissen »

Ich habe jetzt mal angefangen eigene Mods für PhpBB zu schreiben.
Nun sehe ich bei allen Mods meistens immer Datenbank Einträgen dahinter liegen.
Nun wollte ich aber eine Liste in Json als eingespeicherte Werte haben.

Da adm/style/ kein php Code enthält würde ich es Notgedrungen mit Js machen.
Wäre aber nicht Sinnhaft.

Deswegen ist meine Frage wie ich auch solche Funktionen wie einen Mysql-Abfragen einbinden kann.
Die sind ja so eingebunden:

{ }

Das mit der Language habe ich schon herausgefunden.
Und so etwas suche ich nicht.

Danke schon mal für die Antworten

MfG willstdueswissen
Wenn ich Werbung sehen will, gucke ich Fernsehen.
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Re: Im Acp Module vorgesetzte werte aus json

Beitrag von gn#36 »

phpBB arbeitet nun mal mit Datenbanken bzw. sogar einem DBAL der verschiedene Datenbanken im Hintergrund erlaubt. Für das dauerhafte Speichern variabler Daten sollten selbige daher in die Datenbank. Für den schnellen Zugriff auf die Daten ist das in der Regel vorteilhaft. JSON ist ja eher zur Datenübertragung nützlich, zum Daten speichern sehe ich gegenüber eine Datenbank eigentlich keine Vorteile, es sei denn du brauchst das JSON zur Datenübertragung sowieso und die Erzeugung ist aufwändig. Dann würde man sinnvollerweise aber trotzdem die Daten in die DB legen und das JSON Objekt eben cachen.

In PHP einlesen kannst du JSON mit [php:json_decode], ebenso kannst du selbiges mit [php:json_encode] erzeugen. Alles in JS machen ist auf jeden Fall Blödsinn. Insbesondere bei Daten, die irgendwann mal dem User angezeigt werden solltest du niemals auf Browser Verarbeitung vertrauen, sondern immer serverseitig arbeiten oder zumindest serverseitig validieren. Alle Daten die vom Browser stammen sollten grundsätzlich als böswillig betrachtet werden.

Wenn dir das nicht weiterhilft habe ich dich vermutlich nicht so verstanden wie du deine Frage meinst und du solltest vermutlich besser mal ein ausführlicheres Beispiel anfügen was du meinst und wo dein Problem liegt.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
willstdueswissen
Mitglied
Beiträge: 47
Registriert: 22.01.2014 16:47

Re: Im Acp Module vorgesetzte werte aus json

Beitrag von willstdueswissen »

Wie ich da mit PHP realisiere weiß ich, :grin:
Doch wie kriege ich es jetzt ins ACP Menü.
Ich habe jetzt im adm/style/ eine html Datei.
Und meine Frage ist wie kriege ich da php am laufen.

Edit:
Folgendes habe ich durch gemacht: https://wiki.phpbb.com/Deutsch:Erstellen_von_Modulen


Um meine Frage besser zu beschreiben:

Wie kriege ich Werte die eine Funktion in der Main class zurückgegeben werden
in ein Eingabefeld von Style HTML

Und wie kann ich eine php-Funktion von Style HTML aufrufen z.B.
Feld1: Test
absenden

Du hasst Feld1 mit dem Wert Test abgesendet
Wenn ich Werbung sehen will, gucke ich Fernsehen.
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Re: Im Acp Module vorgesetzte werte aus json

Beitrag von gn#36 »

willstdueswissen hat geschrieben: Ich habe jetzt im adm/style/ eine html Datei.
Und meine Frage ist wie kriege ich da php am laufen.
Wenn du zwingend PHP im Style ausführen willst dann kannst du PHP in Styles aktivieren - ist eine Option irgendwo im ACP. Sollte man bei Mods aber nicht machen und wenn du eh ein Modul schreibst ist es sowieso unsinn das zu machen.
Wie kriege ich Werte die eine Funktion in der Main class zurückgegeben werden
in ein Eingabefeld von Style HTML
Indem du eine Stylevariable im Template anlegst (z.B. {S_ANSCHALTEN}) und diese dann per $template->assign_vars(array('S_ANSCHALTEN' => 'blablub')) füllst.
Und wie kann ich eine php-Funktion von Style HTML aufrufen
Indem du AJAX benutzt - allerdings musst du das in phpBB 3.0 komplett selbst machen - hierfür gibt's kein voreingebautes Framework. Bei dem von dir vorgeschlagenen würde ich mir das aber sparen - Javascript alleine tut's da auch.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
willstdueswissen
Mitglied
Beiträge: 47
Registriert: 22.01.2014 16:47

Re: Im Acp Module vorgesetzte werte aus json

Beitrag von willstdueswissen »

Genau so etwas habe ich gesucht mit der Stylevariable.
Denn ich wusste nicht wie ich dieses deklariere.
Das mit Ajax hätte ich ja gemacht, wusste aber nicht ob es schon irgendetwas in phpBB gibt ^^.
Danke danke danke.

Nur verstehe ich das nicht wie ich wenn ich ein submit Button habe oder so, eine Funktion in der main class aufrufen kann.

normal würde ich es ja entweder ohne Ajax (ist jetzt schneller hingeschrieben) so aussehen:

<form action="diephp.php">
<input type="text" name="lalala">
<input type="submit">
</form>

Rufe ich einfach die main class auf?
und wie funktioniert es dann mit mode.
Tut mkr leid wegen den doofen fragen, ich bin noch ein blutiger phpBB Anfänger.

MfG willstdueswissen
Wenn ich Werbung sehen will, gucke ich Fernsehen.
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Re: Im Acp Module vorgesetzte werte aus json

Beitrag von gn#36 »

Behandle die Templates bezüglich Javascript einfach so, wie du eine "normale" HTML Seite behandeln würdest. Letztlich werden ja nur ein paar Variablen im Template ersetzt.

Die URLs die du einsetzen muss bekommst du von den Klassen selbst geliefert. Bei UCP Modulen wird das Modul ja von der ucp.php aufgerufen und der Parameter i bestimmt, welches Modul aufgerufen wird. Schau dir z.B. mal an, wie das bei den bestehenden Modulen gemacht wird. Bei Privaten Nachrichten ist der Parameter z.B. i=pm, bei den Profilseiten i=profile. Wirf hierzu auch einen Blick in den "info" Unterordner im Modulverzeichnis. Ansonsten gibt's ne Anleitung hier: https://wiki.phpbb.com/Deutsch:Erstellen_von_Modulen
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
willstdueswissen
Mitglied
Beiträge: 47
Registriert: 22.01.2014 16:47

Re: Im Acp Module vorgesetzte werte aus json

Beitrag von willstdueswissen »

Ah das hat mir die Augen geöffnet ^^.
Danke.
Nun weiß ich das man auf nichts besonderes achten muss und Mods eigentlich einfach so proggen sind (solange man php html, etc programieren kann)
Thx.
Wenn ich Werbung sehen will, gucke ich Fernsehen.
Antworten

Zurück zu „[3.0.x] Mod Bastelstube“