Ist das für mich als Anfänger machbar?
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.
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.
Ist das für mich als Anfänger machbar?
Hallo,
ich spiele mit dem Gedanken eine eigene Mod zu schreiben. Konkret geht es darum, zeigen zu können welche und wieviele Filme der IMDB Top 250 ein User schon gesehen hat.. dies soll (aus Platzgründen in einer Art Spoiler) im Profil des Users als Liste aufgeführt sein (was er schon gesehen hat durchgestrichen). Zum Einstellen stelle ich mir eine eigene Seite im UCP vor, auf der der User eine Liste aller in den Top 250 aufgeführten Filmen sieht und ankreuzen kann was er (neu) gesehen hat.
Damit die Liste sich selbstständig aktualisiert, sollte das Update-Script automatisch ausgeführt werden (ähnlich wie beim User Reminder Script, dort wird afaik durch den ersten Besucher eines Tages das Script ausgeführt).
Nicht so wichtig aber vielleicht ganz nett wäre noch folgende Funktion: In einem Thread soll irgendwo zwischen "Beiträge:" und "Registriert:" stehen wieviele Filme er schon gesehen hat, also zB "IMDB: 76/250".
Das Script selber habe ich schon mehr oder weniger fertig, ich weiß nur noch nicht wie ich das in phpbb integrieren soll.. die Vorlage für eine eigene Seite hab ich mir schon angeschaut, ich denke das Script erstmal auf einer eigenen Seite einzubauen dürfte weniger Probleme machen und kann wenn es läuft immer noch in die memberlist.php portiert werden. (Wer sich die Funktion des Scripts nicht vorstellen kann, so sieht das ganze in einer schmucklosen Test-HTML Datei aus (im Profil eben ohne die Checkboxen, soll ja kein anderer ändern können) =P)
Konkret fallen mir also spontan folgende Probleme ein:
- Wie die ID des Users dem das Profil gehört herausfinden? (Damit in der Datenbank die gesehenen Filme des richtigen Users als gesehen markiert bzw ausgelesen werden können - im UCP ähnliches Problem)
- Wie das Script integrieren? (Tabellenstruktur etc)
- Kann ich einfach die Sprachdatei sowie die Templatedatei weglassen wenn ich den kompletten Text sowie die Struktur hart code oder gibt das irgendwelche Probleme? (Ich will doch nur eine kleine Mod basteln, diese Aufspaltung in drei Dateien wirkt für einen Anfänger fast schon erschlagend )
- Wie kriege ich das in das UCP?
Seht das erstmal als rhetorische Fragen an, ich erwarte (noch) keine Antworten.. mich interessiert erstmal primär ob das für mich als absoluten Anfänger was das Schreiben von phpbb Mods angeht überhaupt machbar ist oder ob ich sowieso nach ein paar Stunden völlig überfordert aufgeben werde. HTML, CSS, PHP und mySQL Kenntnisse sind vorhanden, an den Grundkenntnissen sollte es also nicht scheitern
Vielen Dank schonmal für eure Antworten ;]
ich spiele mit dem Gedanken eine eigene Mod zu schreiben. Konkret geht es darum, zeigen zu können welche und wieviele Filme der IMDB Top 250 ein User schon gesehen hat.. dies soll (aus Platzgründen in einer Art Spoiler) im Profil des Users als Liste aufgeführt sein (was er schon gesehen hat durchgestrichen). Zum Einstellen stelle ich mir eine eigene Seite im UCP vor, auf der der User eine Liste aller in den Top 250 aufgeführten Filmen sieht und ankreuzen kann was er (neu) gesehen hat.
Damit die Liste sich selbstständig aktualisiert, sollte das Update-Script automatisch ausgeführt werden (ähnlich wie beim User Reminder Script, dort wird afaik durch den ersten Besucher eines Tages das Script ausgeführt).
Nicht so wichtig aber vielleicht ganz nett wäre noch folgende Funktion: In einem Thread soll irgendwo zwischen "Beiträge:" und "Registriert:" stehen wieviele Filme er schon gesehen hat, also zB "IMDB: 76/250".
Das Script selber habe ich schon mehr oder weniger fertig, ich weiß nur noch nicht wie ich das in phpbb integrieren soll.. die Vorlage für eine eigene Seite hab ich mir schon angeschaut, ich denke das Script erstmal auf einer eigenen Seite einzubauen dürfte weniger Probleme machen und kann wenn es läuft immer noch in die memberlist.php portiert werden. (Wer sich die Funktion des Scripts nicht vorstellen kann, so sieht das ganze in einer schmucklosen Test-HTML Datei aus (im Profil eben ohne die Checkboxen, soll ja kein anderer ändern können) =P)
Konkret fallen mir also spontan folgende Probleme ein:
- Wie die ID des Users dem das Profil gehört herausfinden? (Damit in der Datenbank die gesehenen Filme des richtigen Users als gesehen markiert bzw ausgelesen werden können - im UCP ähnliches Problem)
- Wie das Script integrieren? (Tabellenstruktur etc)
- Kann ich einfach die Sprachdatei sowie die Templatedatei weglassen wenn ich den kompletten Text sowie die Struktur hart code oder gibt das irgendwelche Probleme? (Ich will doch nur eine kleine Mod basteln, diese Aufspaltung in drei Dateien wirkt für einen Anfänger fast schon erschlagend )
- Wie kriege ich das in das UCP?
Seht das erstmal als rhetorische Fragen an, ich erwarte (noch) keine Antworten.. mich interessiert erstmal primär ob das für mich als absoluten Anfänger was das Schreiben von phpbb Mods angeht überhaupt machbar ist oder ob ich sowieso nach ein paar Stunden völlig überfordert aufgeben werde. HTML, CSS, PHP und mySQL Kenntnisse sind vorhanden, an den Grundkenntnissen sollte es also nicht scheitern
Vielen Dank schonmal für eure Antworten ;]
Re: Ist das für mich als Anfänger machbar?
Man kann alles, und das was du vorhast ist denke ich schon machbar.
zu den Fragen:
http://wiki.phpbb.com/Main_Page
http://www.phpbb.com/mods/ -> Writing Mods
Wer Mods schreiben will muss etwas Englisch können
zu den Fragen:
- Guck dir mal ein Profil-URL in phpBB3 an und gucke dann was man request_var() alles machen kann oder wenn du im UCP bist frag die Userid-des Users ab.
- Da das Pro User ist würde ich eine Spalte in der Usertabelle hinzufügen
- Durch unsere Mod-DB-Kontrollen kommst du dann nicht durch,aber solange du einen Style hast und nur eine Sprache geht das, das mit den Sprachdateien ist aber einfach wenn man es einmal verstanden hat
- http://wiki.phpbb.com/Creating_modules
http://wiki.phpbb.com/Main_Page
http://www.phpbb.com/mods/ -> Writing Mods
Wer Mods schreiben will muss etwas Englisch können
Standart: Am besten mit beiden Beinen auf dem Boden
Standardmäßig antworte ich nicht auf PMs
Standardmäßig antworte ich nicht auf PMs
Re: Ist das für mich als Anfänger machbar?
Danke für die Links.. das wird echt alles viel komplizierter als gedacht x_X
Nach fast 2 Stunden hab ich erst sowas.. die User ID kann ich holen und soweit ich das beurteilen kann auch benutzen. Ich hab nur noch keine Ahnung wie ich die Daten in die Tabelle kriege und weswegen dieser phpBB Debugger rumheult
Nach fast 2 Stunden hab ich erst sowas.. die User ID kann ich holen und soweit ich das beurteilen kann auch benutzen. Ich hab nur noch keine Ahnung wie ich die Daten in die Tabelle kriege und weswegen dieser phpBB Debugger rumheult
- tas2580
- Ehemaliges Teammitglied
- Beiträge: 3029
- Registriert: 01.07.2004 05:42
- Wohnort: /home/tas2580
- Kontaktdaten:
Re: Ist das für mich als Anfänger machbar?
Der Debugger heult weil du Daten ausgibst bevor du den Header ausgibst. Das Problem hast du wenn du keine Template Datei benutzt. Um irgendwas vernünftig im Foren Design auszugeben sollte man das Template System unbedingt nutzen.
So schwer ist das nicht, wenn du PHP kannst solltest du eigentlich schnell verstehen wie das Funktioniert, schau dir einfach die Links von Boecki91 an.Das würde die PHP Variablen $var1 und $var2 als {VAR1} und {VAR2} ans Template schicken, in UCP Modulen gibst du die Template Datei mit $this->tpl_name = 'dateiname'; an.
An die Daten des aktuell angemeldeten Users kommst du über $user->data['SPALTENNAME'], also $user->data['user_id'] ist die ID des Users der die Seite aufruft. Du kannst hier jede Spalte die es in der User Tabelle (phpbb_users) gibt verwenden.
Ich würde das so aufbauen:
1. Tabelle mit allen Filmen (film_id, filmname)
2. Tabelle für welcher User hat welchen Film gesehen (user_id, film_id)
3. Ein ACP oder MCP Modul um Filme hinzuzufügen oder löschen.
4. Ein UCP Modul über das die User angeben können welche Filme sie schon gesehen haben.
5. Eine Seite im Profil oder sonst wo um die Daten auszugeben.
Dabei solltest du dich immer an die Standards im von Boecki91 verlinkten Wiki halten. Wenn du den Mod später nicht veröffentlichen willst kannst du auf Sprachdateien verzichten, aber bei Template und Datenbank ist es einfach deutlich leichter wenn man die phpBB Klassen verwendet.
Gruß Tobi
So schwer ist das nicht, wenn du PHP kannst solltest du eigentlich schnell verstehen wie das Funktioniert, schau dir einfach die Links von Boecki91 an.
Code: Alles auswählen
$template->assign_vars(array(
'VAR1' => $var1,
'VAR2' => $var2
));
An die Daten des aktuell angemeldeten Users kommst du über $user->data['SPALTENNAME'], also $user->data['user_id'] ist die ID des Users der die Seite aufruft. Du kannst hier jede Spalte die es in der User Tabelle (phpbb_users) gibt verwenden.
Ich würde das so aufbauen:
1. Tabelle mit allen Filmen (film_id, filmname)
2. Tabelle für welcher User hat welchen Film gesehen (user_id, film_id)
3. Ein ACP oder MCP Modul um Filme hinzuzufügen oder löschen.
4. Ein UCP Modul über das die User angeben können welche Filme sie schon gesehen haben.
5. Eine Seite im Profil oder sonst wo um die Daten auszugeben.
Dabei solltest du dich immer an die Standards im von Boecki91 verlinkten Wiki halten. Wenn du den Mod später nicht veröffentlichen willst kannst du auf Sprachdateien verzichten, aber bei Template und Datenbank ist es einfach deutlich leichter wenn man die phpBB Klassen verwendet.
Gruß Tobi
Heute ist ein guter Tag um dein Forum zu testen.
Ehemaliger Benutzername: [BTK] Tobi
Ehemaliger Benutzername: [BTK] Tobi
Re: Ist das für mich als Anfänger machbar?
Den Aufbau habe ich auch genauso geplant, nur das man die Filme nicht per Hand hinzufügen muss sondern das dies automatisch geschieht.
Danke für die Tips, jetzt sieht es schonmal so aus, find ich schonmal nicht schlecht dafür das ich ein totaler Anfänger auf diesem Gebiet bin
Ein paar Sachen kriege ich aber trotz den Links nicht hin, entweder das steht da nirgends, ich bin blind oder weiß einfach nicht nach was ich suchen muss.
Wie ihr seht ist der "Aktualisieren" Button über dem Formular, wie kann das sein?
So sieht jetzt meine Hauptdatei bzw. meine Template- bzw. meine Language-Datei aus. Eigentlich müsste der Button ja ganz unten im Formular sein wo er hingehört o_0
Problem 2: Wie ihr seht sind im Moment alle Titel durchgestrichen (eigentlich sollte die ganze Zeile durchgestrichen sein aber das geht wohl nicht =/), wie kann ich nur das durchstreichen lassen, das gesehen wurde? Das sollte ja mit diesem "<!-- IF x -->y<!-- ELSE -->z<!-- ENDIF -->" gehen, nur wie man das macht hab ich noch nicht rausgefunden.
Danke für die Tips, jetzt sieht es schonmal so aus, find ich schonmal nicht schlecht dafür das ich ein totaler Anfänger auf diesem Gebiet bin
Ein paar Sachen kriege ich aber trotz den Links nicht hin, entweder das steht da nirgends, ich bin blind oder weiß einfach nicht nach was ich suchen muss.
Wie ihr seht ist der "Aktualisieren" Button über dem Formular, wie kann das sein?
So sieht jetzt meine Hauptdatei bzw. meine Template- bzw. meine Language-Datei aus. Eigentlich müsste der Button ja ganz unten im Formular sein wo er hingehört o_0
Problem 2: Wie ihr seht sind im Moment alle Titel durchgestrichen (eigentlich sollte die ganze Zeile durchgestrichen sein aber das geht wohl nicht =/), wie kann ich nur das durchstreichen lassen, das gesehen wurde? Das sollte ja mit diesem "<!-- IF x -->y<!-- ELSE -->z<!-- ENDIF -->" gehen, nur wie man das macht hab ich noch nicht rausgefunden.
Re: Ist das für mich als Anfänger machbar?
Das liegt daran, dass die form sich zwar innerhalb der Tabelle befindet, jedoch weder in einem <tr>, noch einem <td>. Es empfiehlt sich, den form um die gesamte tabelle zu legen.[o0] hat geschrieben:Wie ihr seht ist der "Aktualisieren" Button über dem Formular, wie kann das sein?
Das ist nicht mal so kompliziert. Bei $template->assign_block_vars( musst du angeben, ob der film deleted ist. Dann kannst du das im template überprüfen, etwa so:[o0] hat geschrieben:Problem 2: Wie ihr seht sind im Moment alle Titel durchgestrichen (eigentlich sollte die ganze Zeile durchgestrichen sein aber das geht wohl nicht =/), wie kann ich nur das durchstreichen lassen, das gesehen wurde? Das sollte ja mit diesem "<!-- IF x -->y<!-- ELSE -->z<!-- ENDIF -->" gehen, nur wie man das macht hab ich noch nicht rausgefunden.
Code: Alles auswählen
<span <!-- IF block_name.IS_DELETED -->style="text-decoration: line-through"<!-- ENDIF -->>
http://wiki.phpbb.com/Dbal
http://wiki.phpbb.com/Using_the_phpBB3.0_DBAL
Re: Ist das für mich als Anfänger machbar?
Oh, okay. Hab den Button jetzt in <tr> sowie <td> Tags gepackt und klappt auch soweit. Die DBAL verwende ich noch nicht, da ich noch auf eine extra Datenbank dafür zurückgreife (sicher ist sicher), aber die nachher wenn alles läuft wegzulassen und stattdessen in die phpbb DB zwei Tabellen anzulegen dürfte ja das kleinste Problem sein.
Zu dem <!-- IF x -->: Und was muss ich da bei $template->assign_block_vars angeben? Ich übergeb die Daten für die Tabelle ja erst relativ weit unten mit einer foreach Schleife, ich müsste also auch vorher schon beim Auslesen der Daten das ganze abspeichern.
Vielen Dank für deine Hilfe :]
Zu dem <!-- IF x -->: Und was muss ich da bei $template->assign_block_vars angeben? Ich übergeb die Daten für die Tabelle ja erst relativ weit unten mit einer foreach Schleife, ich müsste also auch vorher schon beim Auslesen der Daten das ganze abspeichern.
Vielen Dank für deine Hilfe :]
Re: Ist das für mich als Anfänger machbar?
So, bin wieder ein Stück weiter und um ein paar Probleme reicher =P
Mittlerweile kann man die eigenen Liste ansehen und nach belieben verändern, allerdings habe ich jetzt das (aktuellste) Problem, das das ich einfach keinen Button zum Aufrufen der Seite eines anderen Users hinkriege. (Also so ein Button in dieser Leiste mit den PN, Homepage, ICQ usw Symbolen).
Bislang habe ich folgendes eingefügt/gemacht:
Wenn das mit dem Icon dann klappt, wäre der nächste Schritt dann auch die korrekte Liste des jeweiligen Users anzuzeigen - das kann mein Script noch nicht, aber da hab ich schon eine Idee..
Wenn ihr zusätzlichen Quelltext braucht, einfach sagen =/
mfg
Mittlerweile kann man die eigenen Liste ansehen und nach belieben verändern, allerdings habe ich jetzt das (aktuellste) Problem, das das ich einfach keinen Button zum Aufrufen der Seite eines anderen Users hinkriege. (Also so ein Button in dieser Leiste mit den PN, Homepage, ICQ usw Symbolen).
Bislang habe ich folgendes eingefügt/gemacht:
viewtopic_body.php hat geschrieben:Code: Alles auswählen
<ul class="profile-icons"> //hier stehen die anderen Icons <!-- IF postrow.U_IMDB --><li class="imdb-icon"><a href="{postrow.U_IMDB}" title="{L_IMDB}"><span>{L_IMDB}</span></a></li><!-- ENDIF --> </ul>
colours.css hat geschrieben:Code: Alles auswählen
.imdb-icon, .imdb-icon a { background-image: url("{IMG_ICON_CONTACT_IMDB_SRC}"); }
Der Button ist fertig gebastelt und liegt unter dem Namen "icon_contact_imdb.gif" im imageset Ordner des Styles, da das aber alles so gar nicht klappt, befürchte ich das ich in mindestens einer Datei noch was einfügen mussbuttons.css hat geschrieben:Code: Alles auswählen
.imdb-icon, .imdb-icon a { background: none top left no-repeat; } ul.profile-icons li.imdb-icon { width: {IMG_ICON_CONTACT_IMDB_WIDTH}px; height: {IMG_ICON_CONTACT_IMDB_HEIGHT}px; }
Wenn das mit dem Icon dann klappt, wäre der nächste Schritt dann auch die korrekte Liste des jeweiligen Users anzuzeigen - das kann mein Script noch nicht, aber da hab ich schon eine Idee..
Wenn ihr zusätzlichen Quelltext braucht, einfach sagen =/
mfg
Re: Ist das für mich als Anfänger machbar?
Kann mir denn da keiner helfen? Ich kriegs alleine nicht hin und nen Tutorial oder sowas finde ich auch nicht.. wenn da jemand was wüsste würde mir das ja schon reichen^^
-
- Mitglied
- Beiträge: 1291
- Registriert: 20.04.2007 20:48
- Wohnort: 45481 Mülheim an der Ruhr
- Kontaktdaten:
Re: Ist das für mich als Anfänger machbar?
Hallo,
erstmal gibt es ja keine viewtopic_body.php sondern eine viewtopic_body.html. Dann ist vor dem <ul class="profile-icons"> ja noch eine Abfrage. Werden denn die anderen Icons angezeigt. Was passiert, wenn du <!-- IF postrow.U_IMDB --><!-- ENDIF --> wegnimmst. Wenn dann dein Icon nicht angezeigt wird, wird U_IMDB in der viewtopic.php wohl nicht richtig definiert sein.
erstmal gibt es ja keine viewtopic_body.php sondern eine viewtopic_body.html. Dann ist vor dem <ul class="profile-icons"> ja noch eine Abfrage. Werden denn die anderen Icons angezeigt. Was passiert, wenn du <!-- IF postrow.U_IMDB --><!-- ENDIF --> wegnimmst. Wenn dann dein Icon nicht angezeigt wird, wird U_IMDB in der viewtopic.php wohl nicht richtig definiert sein.