Seite 1 von 2

Zusätzliche Spalte einfügen

Verfasst: 11.02.2008 02:36
von Limy
Moin Leutz.

Kann man im Phpbb3 eine Zusätzliche Spalte einfügen?
Ich meine damit, dass wie zb im Wbb Rechts eine Spalte 'Moderatoren' ist.
Das ganze soll also so aussehen:

Foren(Text,...)|Beiträge|Themen|Letzer Beitrag|Moderatoren

Ist das möglich?

Verfasst: 11.02.2008 15:13
von JFooty
Warum soll das nicht möglich sein? Das ganze passiert in der forumlist_body.html:

Code: Alles auswählen

<!-- ELSEIF not forumrow.S_IS_LINK -->
					<dd class="topics">{forumrow.TOPICS} <dfn>{L_TOPICS}</dfn></dd>
					<dd class="posts">{forumrow.POSTS} <dfn>{L_POSTS}</dfn></dd>
					<dd class="lastpost"><span>
						<!-- IF forumrow.LAST_POST_TIME --><dfn>{L_LAST_POST}</dfn> {L_POST_BY_AUTHOR} {forumrow.LAST_POSTER_FULL}
						<a href="{forumrow.U_LAST_POST}">{LAST_POST_IMG}</a> <br />{L_POSTED_ON_DATE} {forumrow.LAST_POST_TIME}<!-- ELSE -->{L_NO_POSTS}<!-- ENDIF --></span>
					</dd>
da du für die Moderatoren eine eigene Spalte hinzufügen willst, gehe ich mal davon aus, dass alle Foren einen Moderator haben. Dann füge danach einfach ein:

Code: Alles auswählen

<dd class=""><strong>{forumrow.L_MODERATOR_STR}:</strong> {forumrow.MODERATORS}</dd>
Das class="" habe ich mal nicht definiert. Eventuell musst du anschließend noch die Breite der anderen Spalten anpassen. Ich hab das aber noch nicht getestet.

Verfasst: 16.02.2008 00:54
von Limy
Ok Danke. Leider weiß ich nicht genau wo ich es einbauen soll.
Ich finde bei keinem Style den Code den du geschrieben hast...
Könntest du mir bitte das gnaze nochmal erklären?

Verfasst: 16.02.2008 10:22
von JFooty
Ich hätte vielleicht vorher Fragen sollen, welchen Style du verwendest. Meine Erläuterung bezieht sich auf den prosilver-Style. Die zu bearbeitende Datei forumlist_body.html befindet sich da im Ordner styles/prosilver/template/. Bei subsilver2 heißt die Datei genauso und ist unter styles/subsilver2/template/ zu finden. Allerdings sieht da die zu ändernde Stelle tatsächlich ein wenig anders aus.

Code: Alles auswählen

<tr>
<td class="row1" width="50" align="center">{forumrow.FORUM_FOLDER_IMG}</td>
<td class="row1" width="100%">
<!-- IF forumrow.FORUM_IMAGE -->
<div style="float: {S_CONTENT_FLOW_BEGIN}; margin-{S_CONTENT_FLOW_END}: 5px;">{forumrow.FORUM_IMAGE}</div>
<div style="float: {S_CONTENT_FLOW_BEGIN};">
<!-- ENDIF -->
<a class="forumlink" href="{forumrow.U_VIEWFORUM}">{forumrow.FORUM_NAME}</a>
<p class="forumdesc">{forumrow.FORUM_DESC}</p>
<!-- IF forumrow.MODERATORS -->
<p class="forumdesc"><strong>{forumrow.L_MODERATOR_STR}:</strong> {forumrow.MODERATORS}</p>
<!-- ENDIF -->
<!-- IF forumrow.SUBFORUMS -->
<p class="forumdesc"><strong>{forumrow.L_SUBFORUM_STR}</strong> {forumrow.SUBFORUMS}</p>
<!-- ENDIF -->
<!-- IF forumrow.FORUM_IMAGE --></div><!-- ENDIF -->
</td>
<td class="row2" align="center"><p class="topicdetails">{forumrow.TOPICS}</p></td>
<td class="row2" align="center"><p class="topicdetails">{forumrow.POSTS}</p></td>
<td class="row2" align="center" nowrap="nowrap">
<!-- IF forumrow.LAST_POST_TIME -->
<p class="topicdetails">{forumrow.LAST_POST_TIME}</p>
<p class="topicdetails">{forumrow.LAST_POSTER_FULL}
<a href="{forumrow.U_LAST_POST}">{LAST_POST_IMG}</a></p>
<!-- ELSE -->
<p class="topicdetails">{L_NO_POSTS}</p>
<!-- ENDIF -->
</td>
</tr>
Wenn du einen anderen Style nutzt, müsstest du herausfinden, aus welchem Standardstyle der entstanden ist. Oder du bastelst halt selbst herum.

Code: Alles auswählen

<!-- IF forumrow.MODERATORS -->
<p class="forumdesc"><strong>{forumrow.L_MODERATOR_STR}:</strong> {forumrow.MODERATORS}</p>
<!-- ENDIF -->
ist die Stelle, welche für die Anzeige der Moderatoren zuständig ist. Wenn du immer die Moderatoren anzeigen lassen willst, ändere das in

Code: Alles auswählen

<p class="forumdesc"><strong>{forumrow.L_MODERATOR_STR}:</strong> {forumrow.MODERATORS}</p>
Für eine eigene Spalte ändere den Abschnitt

Code: Alles auswählen

<p class="topicdetails">{L_NO_POSTS}</p>
<!-- ENDIF --> 
</td> 
</tr>
in

Code: Alles auswählen

<p class="topicdetails">{L_NO_POSTS}</p> 
<!-- ENDIF -->
</td>
<td>
<p class="forumdesc"><strong>{forumrow.L_MODERATOR_STR}:</strong> {forumrow.MODERATORS}</p>
</td> 
</tr>
Vergiss aber nicht, bei den anderen Tabellenzeilen ebenfalls eine Zelle hinzuzufügen, sonst könnte es zu Problemen kommen.
Ich hab das noch nicht selbst getestet, also vor der "Bastelstunde" Backup nicht vergessen. :grin:

Verfasst: 16.02.2008 22:04
von Limy
Danke. Ich habs jetzt geschaft die Spalte einzufügen.
Noch eine Frage...

Aktuell sieht es so aus:
[ externes Bild ]

Wie krieg ich das schöner?

Verfasst: 17.02.2008 09:30
von JFooty
Limy hat geschrieben:Wie krieg ich das schöner?
:roll: Woher soll ich wissen, was für dich schön ist? :roll:
Die Frage musst du schon präziser stellen. Was willst du ändern (Hintergrundfarbe, Schriftfarbe, Schriftart, Schriftgröße, Grafik statt Text, Rahmen oder nicht, Rahmenfarbe, ......)?
Eventuell kann ich mir sogar denken, was du meinst. :P Aber dafür müsste ich den von dir geänderten Code für die Tabelle sehen können. :wink:

Verfasst: 18.02.2008 17:10
von Limy
Jop. Ok...

Ungefähr so solls aussehen: [ externes Bild ]

http://rapidshare.com/files/92901881/fo ... _body.html
Da, so sieht der Code aktuell aus.

Danke^^

Verfasst: 18.02.2008 18:06
von JFooty
So hatte ich mir das auch gedacht. Das Problem sollte sich lösen lassen. Du hast nämlich nur in einer Zeile der Tabelle diese Spalte zugefügt. Ich hab zwar immer noch ein Problem mit diesen ganzen "IF", "ELSE" und "ELSEIF"-Dingern, aber es dürfte nicht verkehrt sein, wenn du einfach in jeder Zeile diese Spalte hinzufügst. Also überall wo

Code: Alles auswählen

colspan="5"
steht, ersetzt du mit

Code: Alles auswählen

colspan="6"
Und weiter geht´s: Suche

Code: Alles auswählen

<tr>
	<th colspan="2">&nbsp;{L_FORUM}&nbsp;</th>
	<th width="50">&nbsp;{L_TOPICS}&nbsp;</th>
	<th width="50">&nbsp;{L_POSTS}&nbsp;</th>
	<th>&nbsp;{L_LAST_POST}&nbsp;</th>
</tr>
und ersetze mit

Code: Alles auswählen

<tr>
	<th colspan="2">&nbsp;{L_FORUM}&nbsp;</th>
	<th width="50">&nbsp;{L_TOPICS}&nbsp;</th>
	<th width="50">&nbsp;{L_POSTS}&nbsp;</th>
	<th>&nbsp;{L_LAST_POST}&nbsp;</th>
	<th>&nbsp;{L_MODERATORS}&nbsp;</th>
</tr>
(Das ist der Teil wo ich mir nicht 100% sicher bin, weil schwach in php. :oops: )
Suche (das kommt 2-mal vor, also auch 2-mal ersetzen!)

Code: Alles auswählen

<td class="catdiv" colspan="3">&nbsp;</td>
ersetze mit

Code: Alles auswählen

<td class="catdiv" colspan="4">&nbsp;</td>
Suche (auch 2-mal)

Code: Alles auswählen

<td class="row2" colspan="3" align="center">
ersetze mit

Code: Alles auswählen

<td class="row2" colspan="4" align="center">
Ich hoffe, dass ich nichts vergessen habe. Aber so müsste es passen. Habs jetzt aber noch nicht getestet. Falls es Probleme gibt, meld dich einfach wieder.

Verfasst: 18.02.2008 20:30
von Limy
Ok. Danke^^
Fehlt nur noch eine Sache zu meinem Glück...

[ externes Bild ]

Oben: Aktuell
Unten: So solls werden.

Also das Grau weg und durch die andere Farbe ersetzen.

MfG Limy

Verfasst: 19.02.2008 11:14
von JFooty
Das ist einfach.
Suche

Code: Alles auswählen

<td>
<p class="forumdesc"><strong>{forumrow.L_MODERATOR_STR}:</strong> {forumrow.MODERATORS}</p>
</td>
und ersetze dort

Code: Alles auswählen

class="forumdesc"
durch

Code: Alles auswählen

class="row2"