Erweiterbares Menü möglich?
Posted: 8. June 2011 20:58
Die Ankündigung für die 2.x Generation des Portal liest sich sehr gut. Was mich allerdings in Sachen "Erweiterbarkeit" noch interessieren würde:
Wird es eine Möglichkeit geben das Menü um weitere Portalseiten zu ergänzen um z.B. nicht-phpBB basierende Inhalte einzubinden und diese im Portal anzeigen zu lassen?
Beispiel:
http://poison-door.net/phpBB3/portal.php
Einfach mal links im Menü z.B: auf Pressearchiv klicken, dann weiß man was gemeint ist.
Hierbei handelt es sich um eine "gebastelte" Lösung, weswegen ich es gut finden würde, wenn sowas auch im Adminpanel eingerichtet werden könnte. Ich denke ich bin nicht der Einzige der sowas gut gebrauchen kann. Momentan ist das wie gesagt ein ziemliches Gefummel, siehe auch die "Memo an mich selbst":
Wird es eine Möglichkeit geben das Menü um weitere Portalseiten zu ergänzen um z.B. nicht-phpBB basierende Inhalte einzubinden und diese im Portal anzeigen zu lassen?
Beispiel:
http://poison-door.net/phpBB3/portal.php
Einfach mal links im Menü z.B: auf Pressearchiv klicken, dann weiß man was gemeint ist.
Hierbei handelt es sich um eine "gebastelte" Lösung, weswegen ich es gut finden würde, wenn sowas auch im Adminpanel eingerichtet werden könnte. Ich denke ich bin nicht der Einzige der sowas gut gebrauchen kann. Momentan ist das wie gesagt ein ziemliches Gefummel, siehe auch die "Memo an mich selbst":
Administrator wrote:Also um neue Seiten ins Portal zu bringen "die Übergangslösung":
Zum Editieren würde ich Notepad++ nutzen und immer Sicherungskopien der Dateien machen, die verändert werden.
1. Öffne main_menu.html in "/phpBB3/styles/prosilver/template/portal/block"
Darin zu sehen ist u.A.:
Hier kannst du dann einfach im gleichen Stil die gewünschte, neue Kategorie hinzufügen (XXX = der Name, der angezeigt werden soll *merken*):Code: Select all
<li><a href="http://www.poison-door.net/phpBB3/portal_band.php">Band</a></li> <li><a href="http://www.poison-door.net/phpBB3/portal_musik.php">Musik</a></li> <li><a href="http://www.poison-door.net/phpBB3/portal_presse.php">Presse Archiv</a></li>
2. Nun brauchen wir im phpBB3 Stammverzeichnis eine neue Datei mit dem entsprechenden Namen "portal_xxx.php". Hierzu kopiere einfach die "portal_band.php" auf deinen Rechner und benenne die um. Eine kleine Änderung muss noch innerhalb der Datei gemacht werden - fast ganz unten im Quelltext steht:Code: Select all
<li><a href="http://www.poison-door.net/phpBB3/portal_xxx.php">XXX</a></li>
Anstatt "band_body.html" muss da jetzt "xxx_body.html" rein. Die fertige Datei dann speichern und um phpBB3 Stammverzeichnis ablegen.Code: Select all
// output page page_header($user->lang['PORTAL']); $template->set_filenames(array( 'body' => '/portal/band_body.html' ));
3. vorletzter Step:
Erstelle eine neue Datei "xxx_body.html" mit diesem Inhalt:
Am Ende dann wieder daran denken "<!-- INCLUDE portal/block/xxx.html -->" entsprechend zu benennen. Die Datei wird dann unter "/phpBB3/styles/prosilver/template/portal" abgelegt.Code: Select all
<!-- DEFINE $S_IN_PORTAL = 1 --> <!-- INCLUDE overall_header.html --> <!-- INCLUDE portal/_block_config.html --> <!--version $Id: portal_body.html 487 2009-03-23 17:45:47Z kevin74 $ //--> <table cellpadding="0" cellspacing="0" border="0" width="100%"> <tr> <!-- [+] left block area --> <td valign="top" style="width: {PORTAL_LEFT_COLUMN}px; padding-right:6px;"> <br style="clear:both" /> <!-- IF S_DISPLAY_MAINMENU --> <!-- INCLUDE portal/block/main_menu.html --> <!-- ENDIF --> <!-- IF S_STYLE_OPTIONS and S_DISPLAY_CHANGE_STYLE --> <!-- INCLUDE portal/block/change_style.html --> <!-- ENDIF --> <!-- INCLUDE portal/block/additional_blocks_left.html --> <!-- IF S_CUSTOM_SMALL --> <!-- INCLUDE portal/block/custom_small.html --> <!-- ENDIF --> <!-- IF S_DISPLAY_BIRTHDAY_LIST --> <!-- INCLUDE portal/block/birthday_list.html --> <!-- ENDIF --> <!-- IF S_DISPLAY_CLOCK --> <!-- INCLUDE portal/block/clock.html --> <!-- ENDIF --> <!-- IF S_DISPLAY_PORTALSEARCH and S_DISPLAY_SEARCH --> <!-- INCLUDE portal/block/search.html --> <!-- ENDIF --> <!-- IF S_DISPLAY_RANDOM_MEMBER --> <!-- INCLUDE portal/block/random_member.html --> <!-- ENDIF --> <!-- IF S_DISPLAY_ATTACHMENTS --> <!-- INCLUDE portal/block/attachments.html --> <!-- ENDIF --> <!-- IF S_DISPLAY_TOP_POSTERS --> <!-- INCLUDE portal/block/top_poster.html --> <!-- ENDIF --> <!-- IF S_DISPLAY_LATEST_MEMBERS --> <!-- INCLUDE portal/block/latest_members.html --> <!-- ENDIF --> <!-- IF S_DISPLAY_LINK_US --> <!-- INCLUDE portal/block/link_us.html --> <!-- ENDIF --> </td> <!-- [-] left block area --> <td style="width:4px;" valign="top"></td> <!-- [+] center block area --> <td valign="top"> <br style="clear:both" /> <!-- INCLUDE portal/block/xxx.html --> <br /><div class="copyright">{L_PORTAL_COPY}</div> </td> <!-- [-] center block area --> <td style="width:4px;" valign="top"> </td> </tr> </table> <!--// board3 Portal by www.board3.de //--> <!-- INCLUDE overall_footer.html -->
4. Finale:
Erstelle eine Datei mit dem Namen "xxx.html" und folgenden Inhalt:
Hier kannst du nun an zwei Stellen die Adresse von der Seite angeben, die im Portal eingebunden werden soll. Die fertige Datei legst du dann ab unter "/phpBB3/styles/prosilver/template/portal/block".Code: Select all
<!--version $Id: welcome.html 479 2009-03-15 11:19:27Z kevin74 $ //--> {$C_BLOCK_H_L}<dl class="icon"><dt>Band</dt></dl>{$C_BLOCK_H_R} <div class="panel" style="margin-bottom: 0px"> <div class="inner"><span class="portal-corners-top-inner"></span> <iframe align="center" src="http://www.the-sisters-of-mercy.info/band/index.html" width="100%" height="900" name="SELFHTML_in_a_box"> <p>Ihr Browser kann leider keine eingebetteten Frames anzeigen: Sie können die eingebettete Seite über den folgenden Verweis aufrufen: <a href="http://www.the-sisters-of-mercy.info/band/index.html">SELFHTML</a></p> </iframe> <span class="portal-corners-bottom-inner"></span></div> </div> {$C_BLOCK_F_L}{$C_BLOCK_F_R}
Damit die Änderungen greifen, muss noch in der Admin Konsole der Cache geleert werden (unter Styles>Templates>Aktualisieren) - das kannst du spaßeshalber auch unter Themes und Grafiksammlungen machen.Edit:
Öffne "/phpBB3/styles/prosilver/theme/content.css" - und dann siehe Ende der Datei - dort einen Eintrag im folgenden Stil ergänzen:
Code: Select all
.section-portal_XXXXXX .postbody { margin-left: 0; }
Mit dem Hintergrund muss ich am WE oder so mal schauen - wo hast du denn deinen Entwurf abgelegt?