PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Eigene Menüeinträge im Administrator-Kontrollzentrum



Andreas
09.08.2007, 17:32
Um was geht es?
vBulletin bietet seit Version 3.5 die Möglichkeit, das Menü-Frame des Administrator-Kontrollzentrums (links) mit Hilfe von XML-Dateien auf einfache Art und Weise zu erweitern.
Diese Anleitung beschreibt wie das funktioniert.

Wozu brauche ich das?
Viele Modifikationen benötigten ein Admin-Backend. Um ein durchgängiges Bedienkonzept zu realisieren ist es daher nötig weitere Menüpunkte im Navigations-Frame einzublenden.

Wie funktioniert das im Detail?
Um eigene Menüpunkte einzublenden muss im Verzeichnis includes/xml eine Datei cpnav_myhack.xml mit entsprechenden Definitionen angelegt werden.

Diese XML-Datei besteht aus überwiegend aus 6 wichtigen Tags:

<navgroups>
Dies ist der Container des XML und zeigt an dass es sich um ein Navigations-XML handelt.
Das Tag hat einen Parameter product. Dieser muss mit der ProduktID des zugehörigen Produkts übereinstimmen.
Für Einträge die keinem bestimmten Produkt zugeodrnet sind kann vbulletin verwendet werden.
Wichtig: Einträge nicht installierte bzw. inaktiver Produkte werde nicht angezeigt.
<navgroup>
Dies ist der Container für eine Gruppe von Links wie z.B. vBulletin Einstellungen oder Styles & Templates.
Dieses Tag hat 4 wichtige Parameter: phrase, text, permissions and hr.
Falls Phrasen verwendet werden, so muss für den Parameter Phrase ein gültiger Variablenname angegeben werden; für hardcodierten Text kann hingegen der Parameter text verwendet werden.
Der Parameter permissions (optional) dient der Prüfung von Rechten, sodass einige Gruppen nur dann angezeigt werden wenn entsprechende Rechte vorhanden sind, wie z.B. canadminoptions für vBulletin Einstellungen.
Der Parameter hr gibt schließlich an ob nach der Gruppe eine Leerzeile angezeigt werden soll.
<navoption>
Dies bezeichnet einen einzelenen Menüeintrag.
<phrase> bzw <text>
Hier muss der Variablenname der Phrase oder der Text des jewiligen Menüeintrags angegeben werden.
<link>
Der Parameter link enthält schließlich die URL.
Hier ist zu beachten dass Entities verwendet werden müssen, d.h. statt &blah=blubb mus &amp;blau=blubb geschrieben werden.
Falls auf das Moderatoren-Kontrollzentrum verwiesen werden soll so kann {$vbulletin->config[Misc][modcpdir]} eingesetzt werden, unabhängig davon wie das Verzeichnis benannt ist.


Beispiel
HTML:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------

Für die Tags navgroup und navoption gibt es darüber hinaus den Parameter displayorder.
Über diesen Parameter wird die Reihenfolge der Gruppen bzw. Einträge bestimmt (in aufsteigender Reigenfolge).
Mit diesem Parameter ist es auch möglich neue Einträge zu bestehenden Gruppen hinzuzufügen - hierfür muss die displayorder und der Phrasenname der bestehenden Gruppe angegeben werden.

Beispiel
HTML:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------

Der Eintrag "Erster Eintrag in Foren & Moderatoren" wird dann an erster Stelle in der Gruppe Foren & Moderatoren (Displayorder: 60) angezeigt.

Die displayorder vorhandener Gruppen bzw. Einträge kann der Datei cpnav_vbulletin.xml im Verzeichnis includes/xml entnommen werden.

Bei der Erstellung eigener XMLs sollte displayorder immer gesetzt sein, mit jeweils 10 Abstand zwischen den einzelnen Werten.

Surviver
18.10.2007, 17:08
Hallo, ich habe folgende XML angelegt:

cpnav_xxx.xml

CODE:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------

Soweit wird alles richtig angezeigt, ABER, wenn ich im angehängten Bild auf den Link klicke, aber NICHT in den markierten Bereich klicke funktioniert alles, wenn ich aber in den markierten Bereich klicke, öffnet sich der Link nicht im richtigen Frame, sondern über die ganze Seite.

Woran könnte das liegen?

ragtek
26.03.2009, 22:49
Kann mir jemand erklären wieso folgender Code ein 2. Usermenü erstellt, anstatt das mein Eintrag dort reinkommt?
CODE:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------

Boothby
27.03.2009, 07:24
Änder mal so:HTML:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------
Dann klappts auch mit dem Nachbarn.

ragtek
27.03.2009, 07:28
Heißt das, dsa die Displayorder vom "Originaleintrag" mit dieser gleich sein muss?
Oder worauf muss man hier achten? was wenn zB jemand die manuell geändert hat?

Hoffi
27.03.2009, 07:40
Versuch mal:
CODE:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------

edit: Fenster war zu lange auf, mist.

IMHO sind die permissions wichtig.

ragtek
27.03.2009, 07:48
Habe ich auch gedacht, aber zB http://vbulletin-germany.org/showthread.php?t=700 hat keine und es funktioniert.

Deswegen war ich gestern so verwirrt.

Andreas
29.03.2009, 16:10
Die displayorder muss übereinstimmen wenn Du einer existierenden Gruppe Einträge hinzufügen willst.

Forum
09.10.2009, 17:41
Hallo.

Ich habe eine Frage.

Die Datei "cpnav_vbulletin" ist ja die Hauptdatei. Jetzt habe ich noch eine Datei namens "cpnav_vbmembermap". Wie man die Reihenfolge verändert verstehe ich aber ich verstehe nicht wie ich es einstellen muss damit z.B. "cpnav_vbmembermap" direkt unter "vBulletin-Einstellungen" angezeigt wird. Egal wie ich einstelle aber zwischen "vBulletin-Einstellungen" und "vBulletin-Membermap" ist ein Abstand. Ich wollte es so einstellen das die "vBulletin-Membermap" direkt unter den "vBulletin-Einstellungen" ist. Was mache ich falsch?

Danke.

Andreas
10.10.2009, 14:09
Das von dir geünschte Verhalten ließe sich nur durch ein kompliziertes Plugin oder durch eine Änderung der cpnav_vbulletin.xml erreichen (nämlich indem du das hr="true" für den options-Abschnitt entfernst).

gipskopf
07.07.2010, 14:16
gilt das ganze hier auch noch für vb 4 ?

Andreas
08.07.2010, 07:31
Jep, gilat auch für vB 4.

bpaulsen
08.10.2010, 13:05
Hallo Zusammen,

die hier vorgestellte Lösung hat aber einen Nachteil! Ich habe ein Plugin geschrieben und die XML-Datei dann per Hand erzeugt, die auf eine selbst erstellte PHP-Datei verweist. Beide Dateien werden beim Export des Plugins nicht mit in die XML-Datei gespeichert! Wie kann man dies bewirken?

Viele Grüße

Björn

Onur
08.10.2010, 13:27
garnicht, die XML enthält nur Code der in der DB gespeichert wird, weitere Dateien musst du selbst in einem installationspaket zusammenschnüren
vorzugsweise in einem ordner upload mit der richtigen verzeichnisstruktur dahinter

das geschieht aus dem einfachen Grund, da vB normal nicht am Webspace schreiben kann, folglich auch keine Dateien anlegen die für die Installation notwendig wären, das obliegt dem Anwender diese hinzuzufügen oder zu entfernen