pk|1.6.4++ ~ Navboxen im Inhaltsbereich anzeigen lassen  
       
Weitere Einträge
Idee und Umsetzung
Idee oder eher Anfrage kam vom User Tbereit aus dem Thread:
165_welcomeboxes

Etwas später wurde dies noch etwas erweitert, damit es nicht nur auf der Startseite zu sehen war. Siehe hierfür den Thread:
Navbox im Content anzeigen

Beschreibung
Mit dieser Funktion können die Navigationsboxen innerhalb der selbst erstellten Inhaltsbereiche angezeigt werden. Es spielt i.d.R. keine Rolle, ob die Navigationsboxen von Drittanbietern kommen - es ist aber keine Garantie. In diesen Fall kann das Forum oder die Kommentar-Funktion dieses Blogeintrages genutzt werden. Wenn also eine Navigationsbox nicht gehen sollte, dann einfach melden ;o

Benutzung
Die Benutzung ist denkbar einfach. Einfach in ein Textfeld folgenden Syntax eintragen:




  • 1

    Quellcode

    [navbox=xxx]

Wobei das xxx ein variabler Wert sein kann, und mit den Dateinamen der Navigationsbox übereinstimmen muss. Den Dateinamen kann man anhand des Ordners pkinc/publicinc/ entnehmen. In jenen Ordner gibt es unteranderem folgende Dateien:




  • 1
    2
    3
    4
    5
    6

    Quellcode

    navbox.calender.php
    navbox
    .community.php
    navbox
    .links.php
    navbox
    .newthreads.php
    ..
    und noch ein paar andere

Wie oben zu ersehen ist, beginnt eine Navigationsbox immer mit navbox. und endet mit .php. Was bleibt ist ein Wort - genau dieses Wort wird durch das von o.g. xxx ersetzt. Also bspw. für den Kalender so:




  • 1

    Quellcode

    [navbox=calender]

Der Syntax ähnelt den eines BB-Codes, und ist genauso einfach in den eigenen Inhaltsbereichen einzutragen. Der Vorteil liegt darin, das dieser an jede beliebige Stelle angebracht werden kann, und jede Navigationsbox wird unabhängig verarbeitet. D.h., das sich die Navigationsboxen in keinsterweise beeinflussen.

Code
  • Startseite
    • phpKit 1.6.4 bis 1.6.6
      Öffne die Datei pkinc/public/start.php und suche das:



      1

      PHP-Quelltext

          $welcome_text=$BBCODE->parse($config['welcome_text'],1,1,1,1);

      Und füge darunter das ein:



      1
      2
      3
      4
      5
      6

      PHP-Quelltext

          $welcome_text
              =
              
      function_exists('_reNav_')
              ? 
      _reNav_($welcome_text)
              : 
      $welcome_text
              
      ;


  • Artikel
    • phpKit 1.6.4 bis 1.6.6
      Öffne die Datei pkinc/public/article.php und suche das:



      1

      PHP-Quelltext

              $content_article_body=$BBCODE->parse($content_article,$contentinfo['content_html'],$contentinfo['content_ubb'],$contentinfo['content_smilies'],1);

      Und füge darunter das ein:



      1
      2
      3
      4
      5
      6

      PHP-Quelltext

              $content_article_body
                  =
                  
      function_exists('_reNav_')
                  ? 
      _reNav_($content_article_body)
                  : 
      $content_article_body
                  
      ;


  • allgemeine Inhalte
    • phpKit 1.6.4 bis 1.6.6
      Öffne die Datei pkinc/public/content.php und suche das:



      1

      PHP-Quelltext

              $content_time=formattime($info['content_time']);

      Und füge darunter das ein:



      1
      2
      3
      4
      5
      6

      PHP-Quelltext

              $content_text
                  =
                  
      function_exists('_reNav_')
                  ? 
      _reNav_($content_text)
                  : 
      $content_text
                  
      ;

      --

      Suche weiter:



      1

      PHP-Quelltext

              $content_footer     '';

      Und füge darunter das ein:



      1
      2
      3
      4
      5
      6

      PHP-Quelltext

              $content_text
                  =
                  
      function_exists('_reNav_')
                  ? 
      _reNav_($content_text)
                  : 
      $content_text
                  
      ;


  • Funktions-Code
    • phpKit 1.6.4 bis 1.6.6
      Öffne die Datei pkinc/func/public.php und suche das:



      1
      2

      PHP-Quelltext

      if(!defined('pkFRONTEND') || (pkFRONTEND!='public' && pkFRONTEND!='style'))
          die(
      'Direct access to this location is not permitted.');

      Und füge darunter das ein:



      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
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      46
      47
      48
      49
      50
      51
      52
      53
      54

      PHP-Quelltext

      # start.side - add nav
      function _reNav_($iValue='')
          {
          if (!
      is_string($iValue) || trim($iValue)=='')
              {
              return 
      NULL;
              }
          
      $iValue =trim($iValue);
                  
      preg_match_all('#[navBox=(.*)]#isuSU'$iValue$iMatch);

          if (!
      is_array($iMatch) || count($iMatch)===|| !isset($iMatch[0], $iMatch[1]))
              {
              return 
      $iValue;
              }
          global
              
      $FORUM,
              
      $CMS,
              
      $SESSION,
              
      $SQL,
              
      $BBCODE,
              
      $ENV,
              
      $mods,
              
      $phpkit_status,
              
      $LANG,
              
      $lang
              
      ;
          
      $iRequire   =
          
      $iReplace   =array();


          foreach (
      $iMatch[1] as $iPos=>$iNav)
              {
              if (!
      is_file(pkDIRPUBLICINC.'navbox.'.$iNav.pkEXT))
                  {
                  continue;
                  }
              
      $iPos           =$iMatch[0][$iPos];
              
      $iRequire[$iPos]=require (pkDIRPUBLICINC.'navbox.'.$iNav.pkEXT);
              
      $iReplace[$iPos]=NULL;


              foreach (
      $iRequire[$iPos] as $iContent)
                  {
                  
      $iReplace[$iPos].='<ul class="pkcontent_box_left pkcontent_box_right">'."\n".'<li class="pkcontent_li_left pkcontent_li_right">'."\n".$iContent."\n".'</li>'."\n".'</ul>';
                  }
              }
          return
              
      str_replace(
                  
      array_keys($iReplace),
                  
      array_values($iReplace),
                  
      $iValue
              
      );
          }
      # start.side - add nav

Kommentar verfassen

Um einen Kommentar abgeben zu können müssen Sie angemeldet sein!


Kommentare
 Seiten (2):    1     2    Next    >  
WEBI
  Selbstverständlich.  zwinkern
Dienstag, 02. April 2013 um 04:05 Uhr
k!r!ka
  
Jetzt besser?  
Montag, 01. April 2013 um 18:35 Uhr
WEBI
  Na also, geht doch.  Bääääh
Montag, 01. April 2013 um 17:28 Uhr
k!r!ka
  
Blaaaahhh  k!r!ka

Wird entsprechend geändert ;o
Montag, 01. April 2013 um 17:24 Uhr
 Seiten (2):    1     2    Next    >  

Login erforderlich, um schreiben zu können.
 WEBI
Die Zeit rennt. Lang, lang ist es her. Treffer
 Dooki
20 Jahre Pfeifen
 Dooki
flehen
 WEBI
So mehr oder minder. Oh man
 HobbyProgger
Schön,daß es euch noch gibt Lachen
 Sumale.my
*In Erinnerungen schwelg*


hosted by
All-Inkl.com - Alles einfach Internet



HTH-C.com - Webmedien & Community