Persönliche Box global einbinden |
|
Persönliche Box global einbinden |
Beitrag Nr.: 1 |
Ich habe folgendes Problem
Für das JGS-Portal gibt es ja eine schöne "Persöhnliche Box" die man in das Portal einbinden kann
Link dazu
Hier
Beitrag 4 auf der Seite von Andy_MV6
Diese Box will ich nun in meinem Forum aber nicht im Portal einbinden, sondern global über eine Variable (z.B. $persoenlichebox)
Ich habe nun schon etliches versucht, bekomme es aber nicht hin.
Das nächste Problem wäre schon, das ich weitere Codes noch global einbinden möchte, deshab wäre mir eine Lösung recht, bei der man für diese Einbindungen eine "extra"-PHP benutzt, z.b. globalecodes.php
Und darraus ergibt sich dann eine weitere Frage: Wenn ich so arbeite, könnte ich über eine Variable überall das aufrufen, was ich will, wenn ich nur die entsprechende Codeseite "globalecodes.php" in die Seiten includiere, in denen ich die entsprechenden Boxen / Templates aufrufen will?
Hintergrund ist, das ich mit verschiedenen Headertemplates (und natürlich den passenden footer) für verschiedene Seiten arbeiten möchte, in denen eine zusätzliche Spalte rechts eingebunden ist, die seitenspezifische Zusatzinformationen und Unternavigationen bereitstellen soll.
Also Forum und Portal $header (ganz normal)
Datenbank $headerd
(Wie das geht weiß ich aber)
__________________
Bis auf weiteres nur eingeschränkter Support
|
|
07.04.2013 02:46 |
|
|
|
Also gut, dann schreib ich mal was zu tun ist.
1. Ladet die im Anhang enthaltenen Dateien hoch. Den Ordner portalboxen im Root des WBB, die Templates natürlich in den Templateordner.
2. Nun die Templates cachen (Im Standartstyle)
3. Die global.php im Root (Achtung, nicht die aus dem ACP-Verzeichnis!) ändern.
Suche
php: |
1:
|
eval("\$header = "".$tpl->get("header")."";"); |
|
Füge darüber ein:
php: |
1:
|
include("./portalboxen/f_persoenliche_box.php"); |
|
Nun könnt Ihr überall, wo Ihr wollt, eine persöhnliche Box einbinden, in dem Ihr an der gewünschten Stelle im entsprechenden Template den Code:
php: |
1:
|
$seiteninfos[seiten_text] |
|
eingebt.
Dabei ist zu beachten: Die mitgelieferten Templates sind für einen Einsatz IN einer Box gedacht, so wie sie jetzt im Download sind gehen sie über die gesamte Seite.
Man kann also entweder so vorgehen, das man an der gewünschten Stelle eine Box erstellt (mittels html) oder in den Templates eine Box über den Code der Templates überordnet - Beispiel:
<table style="width: 200px" cellspacing="5" align="center"><tr><td class="tablea">
Code der im Template ist
</td></tr></table>
Wozu das ganze Sinnvoll ist?
Ich werde demnächst einen "Workshop" posten, wie man das Forum etwas mehr zu einer Homepage umbauen kann, man verschiedene Header für verschiedene Seiten einsetzen kann und man verschiedene Navigationen/Boxen für Unterseiten ins Forum bringen kann. Dann sieht man wozu solche Boxen geeignet sind
__________________
Bis auf weiteres nur eingeschränkter Support
|
|
09.04.2013 21:46 |
|
|
|
hmmm ... also muss sagen, noch erschließt sich mir nicht so ganz der tiefere Sinn deines Umbaus/Adds ... aber bin mal auf dein Workshop gespannt... klingt auf jeden Fall interessant...
__________________
|
|
10.04.2013 22:00 |
|
|
|
Es gibt zwar bei JGS-Portal die Möglichkeit, Boxen auf allen (gewünschten) Seiten einzubinden, aber diese sind ja immer fest. Das heißt, wenn man einstellt, man will eine Navigation, eine Teambox und ein Kalender haben, dann hat man diese Boxen auf eben allen Seiten, die man nicht ausgeschlossen hat.
Ich wollte aber mein Forum mit eigenen Seiten ausstatten, und brauche dazu eine (linke) Boxenreihe, die sich an den Seiten orientiert, die ich aufrufe. Also z.B. im Portal, Forum und einigen anderen Seiten eine ganz normale Reihe mit Infos des Users/Forums, aber für Seiten mit meinen Styles eben Boxen mit Untermenüs, bei Seiten mit PSP-Tubes Boxen mit Untermenüs für Tubes und Lehrgänge usw.
Ich habe das ganz einfach über die header.tpl realisiert, also die Seiten, die mit den "normalen" Boxen ausgestattet werden, haben weiter die Variable $header mit dem Temlateaufruf header.tpl. Dann die Seiten über PSP eben $headerpsp mit dem Template headerpsp.tpl usw. Über eine Äußere Tabelle, die sich über header und footer erstreckt hab ich nun einfach den gesamten Seiten eine weitere Spalte links zugewiesen.
Diese Vorgehensweise zusammen mit dem einbinden von Codes global statt in einzelnen Seiten hat den Vorteil, das man auch eine ganze Reihe von anderen Zusätzen auf Seiten gezielt einbinden kann. Beispiel das LCD-Display oder eine Shoutbox.
Und noch ein Edit: Hat grade festgestellt, das ich beim erstellen des Beispielbildes meinen Duden wieder völlig mißachtet habe...... das passiert wenn man auf die schnelle eben antworten will
__________________
Bis auf weiteres nur eingeschränkter Support
|
|
11.04.2013 00:11 |
|
|
|
Ach so is das angedacht.. nu begreif ich es auch^^ :P ...
Da is eigentlich dann auch interessant für mein Forum... na dann wart ich mal auf dein Workshop/Tut^^...
__________________
|
|
11.04.2013 17:22 |
|
|
|
Könnte man das ganze gleich so aufbauen, das Variablen in einer gesonderten PHP definiert werden, nennen wir sie mal global_header.php
Wenn man so arbeitet könnte man diese global_header.php ja genau dort einbinden, wo sie benötigt wird, über
require("global_header.php");
Dadurch würde ich einen viel besseren Überblick bekommen, wie ich eigene Variablen benannt habe. Zudem muß man ja aufpassen, Variablen nicht 2mal in einer PHP auf zu rufen, wenn ich jetzt z.B. die Variable $useronline einfach so übernommen hätte, und diese noch mal global definiert, hätte ich sonst spätestens beim Aufruf der index.php ja einen Fehler.
Deswegen sollten die Variablen, die ich benutze anders benannt sein, in diesem Fall z.B. $global_useronline
Da ja noch weitere Boxen dazu kommen würde mir das so deutlich besser gefallen, weil ich eine saubere Auflistung aller eigenen Variablen in einer PHP hätte. Neue kann man ja immer wieder darunter schreiben.
__________________
Bis auf weiteres nur eingeschränkter Support
|
|
24.04.2013 21:41 |
|
|
|
So, ich hole das Thema noch mal hervor.
Ich habe das Forum nun noch mal ganz neu aufgesetzt, und will es wie schon einmal angesprochen so aufbauen, das ich eine weitere Datei neben der global.php in allen Seiten includiere, in denen ich mit den Boxen arbeite.
Könntest Du (haumi) den Code für die persöhnliche Box so umschreiben, das ich eine andere Variable bekomme, die damalige hieß ja $seiteninfos[seiten_text] .... mit dem Namen bin ich etwas unglücklich, da ich befürchte, so eine Variable könnte es auch schon wo anders geben (grade im JGS-Portal)
Beispielvariable wäre $box_persoenlich .... wenn alle neuen Variablen mit $box_ beginnen weiß ich wenigstens immer, wo sie hingehören
Des weiteren muß der Code ja eventuell angepasst werden, um eben in eine alleinstehende Php Anwendung zu finden. Diese Php soll dann alle Boxencodes aufnehmen.
__________________
Bis auf weiteres nur eingeschränkter Support
|
|
13.05.2013 20:38 |
|
|
|