• Willkommen, Gast!
  • Dienstag, 29. September 2020, 09:38:29
Position: Home » Boardsolution » Boardsolution v1.3x » Mod-Anleitungen » Neues Modul / Seite hinzufügen
Thema: Neues Modul / Seite hinzufügen [Seite 1 ]

Kein neuer Beitrag Nils , 28.08.2007, 16:37
Beitrag #1   

IP: n/a
Rang: * * * * * * *
Registrierung: 01.07.2003, 18:55
Homepage: http://www.script-solution.de
Wohnort: Marburg
 

Forum-Gott mit 7812 Punkte, 7566 Beiträge
Hallo,

falls ihr eine neue Seite in Boardsolution einfügen möchtet, findet ihr hier eine kleine Anleitung
dafür.


  1. Zunächst müsst ihr eine neue Datei im Ordner "modules" erstellen. Ich nenne sie hier mal
    "meine_seite.php".
  2. In diese kopiert ihr folgendes:
    PHP:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    <?php
    if(!class_exists('BS_Module'))
      die();

    class BS_Module_meine_seite extends BS_Module
    {
      function run()
      {
        
      }
      
      function get_location()
      {
        return array();
      }
      
      function has_access()
      {
        return true;
      }
      
      function is_guest_only()
      {
        return false;
      }

      function get_robots_value()
      {
        return "noindex,nofollow";
      }
    }
    ?>
    Wichtig ist, dass die Klasse "BS_Module_meine_seite" heißt, also mit "BS_Module_" beginnt und
    danach der Name euer Datei ohne Endung folgt.
    Ich habe hier einmal alle Methoden, die zur Überschreibung gedacht sind, eingefügt. Das ist zwar
    eigentlich nicht notwendig, aber ich glaube so könnt ihr sie bei Bedarf leichter verwenden.

    Kurz zu den Methoden:
    • run():
      Diese ist für die Anzeige des Moduls gedacht. D.h. hier solltet ihr das integrieren, was passieren
      soll, wenn das Modul angezeigt wird (zwischen der Headline und dem Footer).
    • get_location():
      Hiermit könnt ihr festlegen was bei "Position" angezeigt wird.
    • has_access():
      Dies wird vor run() aufgerufen um zu prüfen ob der aktuelle User Zugriff zu dem Modul hat. Falls
      nein, wird eine Meldung "Zugriff verweigert" angezeigt. D.h. wenn ihr z.B. ein Modul erstellen
      möchtet, welches nur für registrierte und eingeloggte User ist, könnt ihr das folgendermaßen machen:
      PHP:
      1
      2
      3
      4
      function has_access()
      {
        return $this->sess->is_loggedin();
      }

    • is_guest_only():
      Falls euer Modul nur für Gäste ist, solltet ihr hier true zurückgeben. Das wird z.B. benutzt um den
      User nach der Benutzung des Quick-Login-Formulars nicht wieder zu einem Modul zu leiten, welches
      nur für Gäste ist.
    • get_robots_value():
      Dies sollte den Wert von {robots_value} in:
      (BS-)Template:
      1
      <meta name="robots" content="{robots_value}" />
      zurückgeben. Dies ist für Suchmaschinen gedacht um zu verhindern, dass sie jede Seite indizieren
      und verfolgen.
    Jetzt könnt ihr die Seite schon aufrufen, indem ihr die Adresse:
    Code:
    1
    index.php?action=meine_seite
    eingebt.
    Es fehlt also nur noch etwas Inhalt und ihr möchtet ja wahrscheinlich irgendwo einen Link dazu
    setzen :-)
  3. Um etwas Inhalt anzuzeigen, legt ihr am Besten im Verzeichnis themes/default/templates eine neue
    Datei namens meine_seite.htm an.
    Dieses Template werden wir dann aufrufen. Und zwar geht das folgendermaßen:
    PHP:
    1
    2
    3
    4
    5
    6
    7
    ...
      function run()
      {
        $this->tpl->set_template('meine_seite.htm');
        echo $this->tpl->parse_template();
      }
    ...

  4. Da bei allen anderen Modulen in Boardsolution ja die Position oben Links angezeigt wird, wollen
    wir das bei unserer Seite natürlich auch machen.
    Dies geht, wie schon erwähnt, mit der Methode "get_location".
    Dort gebt ihr einfach in der Form:
    Code:
    1
    return array(<URL> => <Titel>,[...]);
    die Position an.
    D.h. in diesem Fall wäre es so in der Art:
    PHP:
    1
    2
    3
    4
    5
    6
    ...
      function get_location()
      {
        return array($this->url->get_URL('meine_seite') => 'Meine Seite');
      }
    ...
    Jetzt fragt ihr euch vielleicht warum ich dort nicht einfach die URL hinschreibe, also
    "index.php?action=meine_seite".
    $this->url->get_URL() produziert auch diese Adresse, allerdings wird dort noch berücksichtigt ob
    das Board eingebunden wurde, ob die Session-ID angehängt werden soll und andere Dinge.
  5. Jetzt braucht ihr also bloß noch irgendwo eurere Seite zu verlinken. Dafür ist vllt. die
    Adminbereich-Hilfe interessant, in welcher geschildert ist, wie man einen Link in die Navigation
    einfügt.
Viel Spass mit der zusätzlichen Seite ;-)

mfg Nils
Dieser Beitrag wurde insgesamt 2 mal editiert. Das letzte Mal 19.02.2009, 10:18 von Nils.

Abonnieren Druckansicht

n/a n/a 1     (Anzeige: 1 – 1; insgesamt: 1) n/a n/a
User in diesem Thema: 0 Registrierte, 0 Versteckte, 1 Gast, 0 Bots
Keine
Legende: Administratoren, User, Moderatoren
Themenaktionen:
Beiträge verschieben

Toggle Ähnliche Themen zu „Neues Modul / Seite hinzufügen“
  Antworten Aufrufe Themeneröffnung Letzter Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, „heißes Thema“
Keine neuen Beiträge, offen Keine neuen Beiträge, nicht verschoben
  Boardsolution - Seite leer? 1 16792 21.03.2019, 19:56
Von: othiede
22.03.2019, 20:13
Von: Nils Zum letzten Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, „heißes Thema“
Keine neuen Beiträge, offen Keine neuen Beiträge, nicht verschoben
  Seitenzahlen in PHP (MySQL) auflistung einbri ... 6 63157 08.07.2015, 21:39
Von: RommY
13.07.2015, 12:43
Von: RommY Zum letzten Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, „heißes Thema“
Keine neuen Beiträge, offen Keine neuen Beiträge, nicht verschoben
Thema "Aktuelles" auf Portalseite nur nach Login? 2 53368 20.11.2014, 19:34
Von: Frank_M
21.11.2014, 11:37
Von: Frank_M Zum letzten Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, „heißes Thema“
Keine neuen Beiträge, offen Keine neuen Beiträge, nicht verschoben
  Board + Webseiten CMS 2 40819 29.06.2014, 19:43
Von: RommY
30.06.2014, 07:49
Von: RommY Zum letzten Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, „heißes Thema“
Keine neuen Beiträge, offen Keine neuen Beiträge, nicht verschoben
Thema Picturesolution v2.11 – Adminbereich, komm ni ... 6 29247 08.03.2010, 15:58
Von: brtl2000
08.01.2013, 21:33
Von: brtl2000 Zum letzten Beitrag
  • 0.024548 Sek., 10 DB-Zugriffe, 848.813 KiB
  • Powered by Boardsolution v1.46