• Willkommen, Gast!
  • Dienstag, 29. September 2020, 08:46:40
Position: Home » Boardsolution » Boardsolution v1.3x » Mod-Anleitungen » Wie kann ich ein Modul in "standalone/" hinzufügen?
Thema: Wie kann ich ein Modul in "standalone/" hinzufügen? [Seite 1 ]

Kein neuer Beitrag Nils , 17.10.2007, 09:45
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,

alle Module im Ordner standalone sind dafür gedacht nicht direkt in Boardsolution (d.h. inkl.
Header und Footer) angezeigt zu werden. D.h. es kann z.B. benutzt werden um etwas in einem Popup
anzuzeigen oder aber auch für ganz andere Dinge wie Generierung von Bildern, Weiterleitung zu einer
anderen Seite und ähnliches.
Kurz gesagt: Für alles, wobei die BS-Objekte benötigt werden, aber was nicht in BS integriert
angezeigt werden soll.

In dieser Anleitung möchte ich kurz erklären wie man ein eigenes kleines Standalone-Modul einbauen
kann. Fangen wir an:
  1. Zunächst müsst ihr eine Datei in standalone erstellen. Ich nenne sie hier mal "test.php".
  2. In diese kopiert ihr folgenden Inhalt:
    PHP:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?php
    class BS_Standalone_test extends BS_Standalone
    {
      function BS_Standalone_test($path)
      {
        BS_Standalone::BS_Standalone($path);
      }
      
      function run()
      {
        
      }
      
      function require_board_access()
      {
        return true;
      }
    }
    ?>
    Wichtig ist, dass die Klasse "BS_Standalone_test" heißt, also mit "BS_Standalone_" beginnt und
    danach der Name euer Datei ohne Endung folgt.

    Kurz zu den Methoden:
    • run():
      Diese wird aufgerufen um das Modul anzuzeigen. Dort sollte also alles diesbzgl. integriert werden.
    • require_board_access():
      Hier könnt ihr festlegen ob der User, der das Modul aufruft, Zugriff zum Board haben muss. Zugriff
      hat man dann, wenn die Usergruppe das Board sehen darf.
      Nur falls der User Zugriff hat, wird run() aufgerufen.
    Zum Konstruktor (Zeile 4 - 7):
    Dieser bietet noch einige weitere Möglichkeiten (welche z.B. notwendig sind, wenn ihr nichts
    anzeigen möchtet, sondern z.B. ein Bild generieren möchtet), auf die ich aber hier nicht weiter
    eingehen möchte. Schaut bitte in den Quellcode (src/standalone.php) bzw. in die Dokumentation von
    BS
    um Weiteres zu erfahren.

    Ihr könnt das "Standalone-Modul" jetzt schon aufrufen mit:
    Code:
    1
    standalone.php?action=test
    Es fehlt also nur noch etwas Inhalt und ihr möchtet ja wahrscheinlich irgendwo einen Link dazu
    setzen :-)
  3. Um Inhalt einzufügen benutzt ihr am Besten ein Template. Legt einfach ein Template namens
    "test.htm" (den Namen könnt ihr allerdings selbst bestimmen) in themes/<theme>/templates/ an. Jetzt
    ändern wir die Methode run() so ab, dass dort das Template angezeigt wird:
    PHP:
    1
    2
    3
    4
    5
    6
    7
    ...
      function run()
      {
        $this->tpl->set_template('test.htm');
        echo $this->tpl->parse_template();
      }
    ...

  4. Um einen Link zu dem Modul einzufügen, sollte am Besten die Methode:
    PHP:
    1
    $this->url->get_file_url()
    benutzt werden. Falls ihr den Link einfach so irgendwo einbaut, hat das zur Folge, dass z.B. die
    Session-ID nicht übergeben wird (und somit User, die Cookies deaktiviert haben, ausgeloggt werden).

    Ihr solltet also an geeigneter Stelle (hängt davon ab, wo der Link hin soll) folgendes an das
    entsprechende Template übergeben:
    PHP:
    1
    2
    3
    $this->tpl->add_variables(array(
      'mein_test_modul_url' => $this->url->get_file_url('standalone.php','&amp;'.BS_URL_ACTION.'=test')
    ));
    Dies generiert die oben genannte URL mit ggf. der Session-ID.
    Nun braucht ihr nur noch den festgelegten Wert im Template an geeigneter Stelle einzufügen:
    (BS-)Template:
    1
    {mein_test_modul_url}

Das wars! :-)
Solltet ihr Probleme mit der Anleitung oder weitergehende Fragen haben, erstellt bitte ein neues
Thema in Fragen zu Änderungen.

mfg Nils
Dieser Beitrag wurde insgesamt 1 mal editiert. Das letzte Mal 19.02.2009, 11:50 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 „Wie kann ich ein Modul in "standalone/" 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
  Neues Modul zum Frontend hinzufügen 8 39811 19.11.2009, 20:06
Von: Nils
18.06.2012, 20:24
Von: Jamie 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
  Nutzung von PHP auf Frontend Modul Seiten 5 8705 04.09.2011, 16:04
Von: Doerfler
07.09.2011, 14:13
Von: Rafioso 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
  modul action - POST Werte übergeben 6 9493 12.01.2010, 15:50
Von: aki
13.01.2010, 15:39
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
  dynamische Breadcrumbs in Submodulen 2 7811 11.01.2010, 13:14
Von: aki
11.01.2010, 13:59
Von: aki 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
  Module unterordnen 1 6190 10.01.2010, 01:21
Von: aki
10.01.2010, 11:07
Von: Nils Zum letzten Beitrag
  • 0.024075 Sek., 10 DB-Zugriffe, 840.742 KiB
  • Powered by Boardsolution v1.46