MyBB.de Forum

Normale Version: Eigene Seiten Tutorial
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hallo, nachdem ich sehr viel auf mybboard.de nachgefragt, teilweise genervt habe, dachte ich mir ich fasse dies einmal zusammen damit man einmal ales Übersichtlich hat und nicht andauernd der gleiche Thread zu diesem Thema verfasst wird. Desweiteren wird das vorhandene Plugin von dem Autor nicht weiter entwickelt.

Fangen wir mal der reihe nach an:

1. Wie kann ich eigene Seiten erstellen?

2. Wenn ich eine Tabelle darin haben möchte gebe ich in dem erstellten Template folgendes ein

Code:
<html>
<head>
<title>$settings[bbname]</title>
$headerinclude
</head>
<body>
$header
<table cellspacing="0" cellpadding="0" border="0" width="100%" align="center">
<tr><td class="tborder">
<table border="0" cellspacing="1" cellpadding="4" width="100%">
<tr>
<td class="thead" width="14%"><b>Bennenung</b></td>
</tr>
<tr>
<td class="trow1" valign="top" colspan="2">
<table cellspacing="0" cellpadding="0" border="0" width="100%"><tr>
<td valign="top">

Text

</td>
</tr></table>
</td>
</tr>
</table>
</td></tr></table>
$footer
</body>
</html>

Bennennung und Text ist mit euren angaben zu ersetzen

3. Wenn ich eigene Seiten erstelle die auch noch unterseiten haben und das auch entsprechend angezeigt werden soll, gebe bitte in der erstellten .php folgendes ein

Code:
<?php
define("KILL_GLOBALS", 1);
define("IN_MYBB", 1);

require("global.php");


add_breadcrumb('übergeordnete Seite', 'dateiname.php');
add_breadcrumb('untergeordnete Seite', '´datainame.php');



eval("\$dateiname .= \"".$templates->get("dateiname")."\";"); // Hier wird das erstellte Template geladen
output_page($dateiname);
?>

der Seitenname und der Dateiname ist mit euren Daten zu ersetzen

4. Wenn eine eigene Seite für Gäste nicht Sichtbar sein soll sieht die erstellte .php so aus

Code:
<?php
define("KILL_GLOBALS", 1);
define("IN_MYBB", 1);

require("global.php");
if($mybb->user['uid'] == 0)
{
    error_no_permission();
}

add_breadcrumb('übergeordnete Seite', 'dateiname.php');
add_breadcrumb('untergeordnete Seite', '´datainame.php');



eval("\$dateiname .= \"".$templates->get("dateiname")."\";"); // Hier wird das erstellte Template geladen
output_page($dateiname);
?>

So können zum beispiel übergeordnete Seiten für Gäste sichtbar sein und untergeordnete Seiten versteckt werden bzw. die zugriffstrechte beschrenkt werden für Gäste.

5. Wenn jemand auf der eigenen Seite ist steht im WIO unbekannter Ort, dies könnte ihr wenn ihr wollt anpassen

als erstes öffnet ihr die online.php und sucht nach

PHP-Code:
    switch($user['activity'])
    { 

und fügt danch ein:

PHP-Code:
        // eigeneSeiten.php functions
            
case "eigeneSeiten":
                        
$locationname $lang->viewing_eigeneSeiten;
                    break; 
dann sucht ihr in der selben Datei:

PHP-Code:
    switch($filename)
    { 

und fügt danch ein:

PHP-Code:
    case "eigeneSeiten":
                    
$user['activity'] = "eigeneSeiten";
                    break; 

Die Wörter eigeneSeiten ist durch euren Namen zu ersetzen

Nun öffnet ihr eure Sprachdatei und sucht in ihr:

PHP-Code:
?>

und fügt darüber ein:

PHP-Code:
$l['viewing_eigeneSeiten'] = "Betrachtet <a href=\"eigeneSeiten.php\">der Name deiner eigenen Seite</a>"

Auch hier muß man wieder eigeneSeiten durch den eigenen Namen ersetzen.

Riesigen Dank nocheinmal an Dragon und Michael, die mir dabei sehr geholfen haben.


Ich hoffe das hilft ein wenig

euer Schumuckl
Schöne zusammenfassung, die mir vor nem Monat sicherlich viel geholfen hätte (mitlerweile hab ich mich selbst da durchgezwungen) ^^

Aber verbesserungsvorschläge:
Nimm für die Code-Schnipsel immer die PHP-Tags, die ersten paar haben nur den normalen Code-Tag, was es unübersichtlicher macht.
Eventuell solltest du noch etwas mehr kommentare mit direkt an den Code schreiben, damit es auch Neulinge besser verstehen köännen.

Also damit mein ich jetz sowas wie:
PHP-Code:
<?php
define
("KILL_GLOBALS"1);
define("IN_MYBB"1); // Festlegen, dass sich die Seite innerhalb des MyBB befindet

require("global.php"); // Grundlegenste Sachen des MyBB einbinden (User-System, Templates, Settings etc.)
if($mybb->user['uid'] == 0// Nur Gäste haben UserID = 0
{
    
error_no_permission(); // Denen den Zugriff unterbinden und die entsprechende Meldung ausgeben
}

// Navigation aufbauen
add_breadcrumb('übergeordnete Seite''dateiname.php');
add_breadcrumb('untergeordnete Seite''datainame.php');

eval(
"\$dateiname .= \"".$templates->get("dateiname")."\";"); // Hier wird das erstellte Template geladen
output_page($dateiname); // Zusammengestellte Seite am Ende ausgeben
?>
(Gut, vielleicht etwas übertrieben, aber einige Kommentare mehr wären nicht schlecht Wink)

Und dann noch ne Frage:
Weißt du zufällig (oder kann es mir wer anderes sagen), was die Konstante "KILL_GLOBALS" zu sagen hat? Die steht immer mit dabei, aber deren Zweck hab ich nicht wirklich herausfinden können ^^


MfG Zwoetzen
Also ich finde die Idee, solche Themen bzw. Lösungswege für Probleme in der Forum von Tutorials zu präsentieren, einfach super!!!!!

Vielen Dank Schumuckl!!!! Smile

Könnte man für solchen Themen nicht ein separates Forum und/oder Wiki einrichten, es irgendwo unter "Doku" einsetzen oder es zumindest als "Wichtig" kennzeichnen? Meine Befürchtung ist, dass solche Themen dann u.U. leider in der Versenkung verschwinden..... Wink
Es gab mal ein Wiki hier auf der Seite, da sich da aber zu wenig getan hat, wurde das glaube auf MyBBCoder.de ausgelagert soviel ich weiß.
Jockl schrieb:Also ich finde die Idee, solche Themen bzw. Lösungswege für Probleme in der Forum von Tutorials zu präsentieren, einfach super!!!!!

Vielen Dank Schumuckl!!!! Smile

Könnte man für solchen Themen nicht ein separates Forum und/oder Wiki einrichten, es irgendwo unter "Doku" einsetzen oder es zumindest als "Wichtig" kennzeichnen? Meine Befürchtung ist, dass solche Themen dann u.U. leider in der Versenkung verschwinden..... Wink


eine entsprechende Antwort habe ich dir auch auf mybbcoder gegeben
Hi Schmuckl,

super Sache! Das wird neue MyBB User weiterbringen.

In Punkt 3 hast Du beschrieben, wie man untergeordnete Seiten in der Navigation ergänzt. Denke zu Punkt 5 solltest dann noch eine Ergänzung für die online.php aufnehmen!
Du fügst jede einzelnde Seite in der Online.php hinzu, von daher brauhct du die einträge nicht so erstellen wie du es beschrieben hast oder ich verstanden habe
Schumuckl schrieb:Du fügst jede einzelnde Seite in der Online.php hinzu, von daher brauhct du die einträge nicht so erstellen wie du es beschrieben hast oder ich verstanden habe

Klar war mein Fehler Cool

NetHunter

Kleine Anmerkung meinerseits. Es fehlen die geschweiften Klammern in deinem Beispiel. Also statt z.B. $headerinclude muss es {$headerinclude} heißen.
Das macht doch nicht. Beides funktioniert. Wink
Beim Tutorial bei MyBBCoder.info hatte ich das aber sofort verschönert.
Seiten: 1 2 3