Denn einmal zusammenfassend. Ausgangslage:
Im Harmony Forum können die User ihre Fernbedienung (bis zu drei Stück), die Verwaltungssoftware (Auswahlfeld) und auch die Geräte ihres Hifi-Geräte Parks (bis zu 15) angeben.
Das ist über CPFs gelöst, schon in 3.0 hatte ich die
viewtopic_body.php
entsprechend angepasst, das nicht alle Angaben im Mini-Profil / unter dem Avatar rein geklatscht werden. Im Mini-Profil werden die Fernbedienungen und die Software angezeigt, die Geräte als kleine Tabelle unter der Signatur:
[ externes Bild ]
Beim Sprung auf phpBB 3.1 lief das auch alles problemlos in der
viewtopic_body.html
. In einer Extension leider nicht.
Das Problem wurde netterweise mit dem Code von Talk19zehn gelöst:
http://www.ongray-design.de/screenshots/ongray.zip
Auch hat sie gleich mein Ursprungsproblem gelöst: wie kann ich den Output der CPFs lösen, ohne etwas im Template oder im Core-Code zu verändern. Das mir also nicht im schlimmsten Fall 19 Angaben ins Mini-Profil geballert werden.
Dafür klinkt sie sich vor den Output der CPFs über
viewtopic_body_postrow_custom_fields_before.html
ein, öffnet diesen Tag und lässt damit simpel gar keine CPF ausgeben:
In
viewtopic_body_postrow_custom_fields_after.html
schließt sie den Tag wieder und man kann gezielt hinzufügen was man sich ausgeben lassen will. Dabei beachten:
der Wohnort (
phpbb_location
) ist flöten gegangen, muss also wieder rein:
Code: Alles auswählen
</div>
<dd class="profile-custom-field profile-{postrow.custom_fields.PROFILE_FIELD_IDENT}">
<!-- BEGIN custom_fields -->
<!-- IF postrow.S_PROFILE_PHPBB_LOCATION -->
<div><strong>{postrow.PROFILE_PHPBB_LOCATION_NAME}:</strong> {postrow.PROFILE_PHPBB_LOCATION_VALUE}</div>
<!-- ENDIF -->
<!-- BEGIN custom_fields -->
<!-- IF postrow.S_PROFILE_FERNBEDIENUNG -->
<div><strong>{postrow.PROFILE_FERNBEDIENUNG_NAME}:</strong> {postrow.PROFILE_FERNBEDIENUNG_VALUE}</div>
<!-- ENDIF -->
<!-- BEGIN custom_fields -->
<!-- IF postrow.S_PROFILE_FERNBEDIENUNG_ZWO -->
<div><strong>{postrow.PROFILE_FERNBEDIENUNG_ZWO_NAME}:</strong> {postrow.PROFILE_FERNBEDIENUNG_ZWO_VALUE}</div>
<!-- ENDIF -->
<!-- BEGIN custom_fields -->
<!-- IF postrow.S_PROFILE_FB_DREI -->
<div><strong>{postrow.PROFILE_FB_DREI_NAME}:</strong> {postrow.PROFILE_FB_DREI_VALUE}</div>
<!-- ENDIF -->
<!-- BEGIN custom_fields -->
<!-- IF postrow.S_PROFILE_SOFTWARE -->
<div><strong>{postrow.PROFILE_SOFTWARE_NAME}:</strong> {postrow.PROFILE_SOFTWARE_VALUE}</div>
<!-- ENDIF -->
</dd>
<div style="clear: both"></div>
Den Hifi-Gerätepark lasse ich dann noch über den
viewtopic_body_postrow_post_content_footer
Hook ausgeben. Beispiel, auf eine Zeile reduziert:
Code: Alles auswählen
<!-- IF FORUM_ID != 35 and FORUM_ID != 58 -->
<div id="sig{postrow.POST_ID}" class="signature">
<!-- IF postrow.S_PROFILE_GERAETE_A or postrow.S_PROFILE_GERAETE_B or postrow.S_PROFILE_GERAETE_C -->
<table width="100%">
<tr>
<td style="vertical-align: top; width:33%; padding-right:10px;">
<!-- BEGIN custom_fields -->
<div><!-- IF postrow.S_PROFILE_GERAETE_A --><span style="font-size: 85%">{postrow.PROFILE_GERAETE_A_VALUE}</span><!-- ENDIF --></div>
</td>
<td style="vertical-align: top; width:33%; padding-right:10px;">
<!-- BEGIN custom_fields -->
<div><!-- IF postrow.S_PROFILE_GERAETE_B --><span style="font-size: 85%">{postrow.PROFILE_GERAETE_B_VALUE}</span><!-- ENDIF --></div>
</td>
<td style="vertical-align: top; width:33%; padding-right:10px;">
<!-- BEGIN custom_fields -->
<div><!-- IF postrow.S_PROFILE_GERAETE_C --><span style="font-size: 85%">{postrow.PROFILE_GERAETE_C_VALUE}</span><!-- ENDIF --></div>
</td>
</tr>
</table>
<!-- ENDIF -->
</div>
<div style="clear: both"></div>
<!-- ENDIF -->
Ansonsten habe ich dann soweit alles (Meta-Tags, Link auf eigenes Script mit
append_sid
, Favicon, Highslide, etc) in meine Extension ausgelagert und das Ziel ist erreicht: Nichts mehr an phpBB und Template geändert. Logo mal ausgenommen. Schöne Sache.
Herzlichen Dank nochmals an alle Beteiligten und vor allem an Talk19zehn!