Table of Contents

blextra Plugin

Compatible with DokuWiki

2011-04-22, 2011-05-25, 2012-01-25a

plugin Provide functions for simple template creation

Last updated on
2012-05-26
Provides
Helper
Repository
Source

This extension has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues.

Tagged with json, links, menu, template

Installation

Search and install the plugin using the Extension Manager. Refer to Plugins on how to install plugins manually.

Change Log

Examples/Usage

First of all, init the plugin in your template:

if(!plugin_isdisabled('blextra') && ($blextra =& plugin_load('helper', 'blextra'))) {
  //plugin successfully loaded
}
else {
  echo "ERROR: blextra plugin required!";
}

JSON-encoded menu

You can encode menu links with JSON like:

[
{
  "url":"start",
  "name":"My start page...",
  "more":"id='start'"
},
{
  "url":"nsexample:end",
  "name":"This is the end!",
  "more":""
}
]

You can easyly decode and render your page (menu) with the following steps in your template:

$mymenu = 'data/pages/wiki/menu.txt';
$armenu = json_decode(@file_get_contents($mymenu),true);
if($blextra)
  $blextra->tpl_link_array($armenu,'','');

Get a main menu

You can get a simple main menu as list with the build in type list.

echo "<ul class=\"dokumenu\">";
if($blextra)
  $blextra->tpl_actionlink_array($blextra->available_actions,'<li>','</li>');
echo "</ul>"; //#dokumenu
echo "<ul class=\"dokumenu\">";
 
if($blextra) {
  $types = array(
    array(
      'type' => 'login',
      'pre'  => '',
      'suf'  => '',
      'inner'  => ''
      )
  );
 
  if(isset($_SERVER['REMOTE_USER'])) {
    $types = $blextra->available_actions;
  }
  $blextra->tpl_actionlink_array($types,'<li>','</li>');
}
 
echo "</ul>"; //#dokumenu