Seite 1 von 1

CaBaKaLeNDeR

Verfasst: 27.06.2012 10:26
von cabaman
Sooo... nach Jahrelangem Usertums, wechsel ich nun unter die Programmierer... yeah... :D :D :D

Ich hoffe, ich bin hier im richtigen Forum.. :o

Folgende Idee:

Bei uns im Forum sind die 1. Themen eines Forums meistens Veranstaltungen.- Diese habe ich jetzt abgefangen und in ein "Kalender" verbannt.. ;)

[ externes Bild ]

Jetzt würde ich gerne einen Datumsfeld/Datepicker zusätzlich bei Eingabe eines neuen Themas haben wollen, um den Events ein Datum zu verpassen und um danach sortieren zu können...

[ externes Bild ]


äähh... wo genau muss das hin? Bin leicht überfordert bei der Masse an PhpBB Dateien... :grin:

Und wie speicher ich das?? In der mysql würde ich dann im phpbb_topics ein Datumfeld anlegen....

Ich gehöre zu den "Learning by doing" Typen, hoffe ich bekomme etwas Starthilfe... :wink:

Btw: Interessiert jemanden so ein "Mod"? Wäre das dann überhaupt ein Mod?? :D

Re: CaBaKaLeNDeR

Verfasst: 27.06.2012 16:45
von cabaman
Yucheyy.... habs gefunden... :wink:

in Styles/Templatename/template/posting_editor.html befindet sich der Editor... hab auch schon ein Datumsfeld, wie oben im Bild, hinzugefügt... :wink:

ABER..... wie und wo wird das jetzt gespeichert??? :o
Ich mach gerade ziemlich den Schlauchsteher... :D

Re: CaBaKaLeNDeR

Verfasst: 27.06.2012 19:09
von Pyramide
Die Formularverarbeitung findet in der posting.php statt und das eigentliche Speichern in der Datenbank in der Funktion submit_post() (includes/functions_posting.php). Am besten nach einem vorhandenen Feld wie subject oder username suchen und dann alle Fundstellen durchgucken und die passenden Zeilen mit neuem Feldnamen kopieren. Wobei du auch viele Stellen weglassen kannst, wenn z.B. dein neues Feld nicht in Entwürfen (drafts) enthalten sein braucht oder du auf die Performanceoptimierungen mit der Prüfsumme (checksum) verzichtest. Oder guck dir vorhandene Mods wie z.B. http://www.phpbb.com/customise/db/mod/topic_prefix_mod/ als Vorlage an.

Re: CaBaKaLeNDeR

Verfasst: 27.06.2012 19:54
von cabaman
Sehr, sehr geil, Pyramide.... :wink:

hab die posting.php, submit_post() und functions_posting.php zwar selbst gefunden und darüber gelesen, jedoch ist das noch ein Buch mit 265 Siegel für mich... :D

Der Topic_prefix_mod scheint aber ein super Wegweiser zu sein, danke!

Wird zwar ne Woche dauern bis ich da durchblicke, aber bin ja noch jung und nur noch 3 Monate bis zur Pension... :D :D :D :lol: :lol:

ThX, Pyramide... :wink:

Re: CaBaKaLeNDeR

Verfasst: 28.06.2012 15:59
von cabaman
Ou man.... bin voll im Erfolgsrauch... ICH HABS GESCHAFFT!!!! :o
:D Ich weiß nicht ob ihr Euch noch daran erinnern könnt, als ihr Euer ersten, funktionierenden Schnipsel gecoded habt... :grin: Extase pur... :ugeek:

Jetzt noch die Feinarbeiten:

Wie übergebe ich eigentlich ne NULL in die Datenbank??

Habe also folgenden Code:

Code: Alles auswählen

$data['cabacalendar_datum'] = checkdate($_POST['cabacalendar_datum']) ? $_POST['cabacalendar_datum'] : '0000-00-00';

$redirect_url = submit_post(... usw.....
Prüft also, ob mein Eintrag ein Datum ist... wenn nicht, dann wird erstmal '0000-00-00' übergeben, würde aber gerne NULL an die DB senden... :o

Re: CaBaKaLeNDeR

Verfasst: 28.06.2012 16:29
von Pyramide
Bitte umschließe nicht jedes mal deinen kompletten Beitrag mit [ b ][ /b ]...
KB:knigge hat geschrieben:Formatierungen und Farben mittels BBCode sind auf das Nötigste zu beschränken.

Re: CaBaKaLeNDeR

Verfasst: 28.06.2012 17:22
von cabaman
Ups... sorry... Macht der Gewohnheit... :oops: wird in meinem Forum so gemacht... :grin:

Hab jetzt auch die NULL Hürde genommen... :grin:
Weiß zwar immer noch nicht, WIE man die NULL einfügt (Wäre über ne Antwort erfreut), hab aber einfach bei Nichtvorhanden eines Datums die Speicherung des Datums rausgenommen (ist ja als NULL in der DB hinterlegt)... ;)

Nochmals Danke, ich glaube ich bin auf nem guten Weg.... :wink:

Re: CaBaKaLeNDeR

Verfasst: 28.06.2012 17:33
von Pyramide
Hast du mal versucht, einfach null zu übergeben? Laut _sql_validate_value sollte das funktionieren.