support the tplinc plugin
This is a first commit to generally support the plugin and make the page footer use it. More includes should be added at other places.
This commit is contained in:
parent
7f087684c3
commit
cad2e67442
2 changed files with 40 additions and 16 deletions
31
Template.php
31
Template.php
|
@ -35,6 +35,36 @@ class Template {
|
|||
*/
|
||||
protected function __construct() {
|
||||
$this->initializePlugins();
|
||||
|
||||
/** @var \Doku_Event_Handler */
|
||||
global $EVENT_HANDLER;
|
||||
$EVENT_HANDLER->register_hook('PLUGIN_TPLINC_LOCATIONS_SET', 'BEFORE', $this, 'registerIncludes');
|
||||
}
|
||||
|
||||
/**
|
||||
* Makes include position info available to the tplinc plugin
|
||||
*
|
||||
* @param \Doku_Event $event
|
||||
*/
|
||||
public function registerIncludes(\Doku_Event $event) {
|
||||
$event->data['footer'] = 'Footer below the page content';
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the content to include from the tplinc plugin
|
||||
*
|
||||
* prefix and postfix are only added when there actually is any content
|
||||
*
|
||||
* @param string $location
|
||||
* @param string $pre prepend this before the content
|
||||
* @param string $post append this to the content
|
||||
* @return string
|
||||
*/
|
||||
public function getInclude($location, $pre = '', $post = '') {
|
||||
if(!$this->plugins['tplinc']) return '';
|
||||
$content = $this->plugins['tplinc']->renderIncludes($location);
|
||||
if($content === '') return '';
|
||||
return $pre . $content . $post;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -45,6 +75,7 @@ class Template {
|
|||
if($this->plugins['sqlite']) {
|
||||
$this->plugins['tagging'] = plugin_load('helper', 'tagging');
|
||||
}
|
||||
$this->plugins['tplinc'] = plugin_load('helper', 'tplinc');
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
25
main.php
25
main.php
|
@ -9,14 +9,13 @@
|
|||
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
|
||||
*/
|
||||
|
||||
use dokuwiki\template\sprintdoc\Template;
|
||||
|
||||
if (!defined('DOKU_INC')) die(); /* must be run from within DokuWiki */
|
||||
header('X-UA-Compatible: IE=edge,chrome=1');
|
||||
|
||||
$showTools = !tpl_getConf('hideTools') || ( tpl_getConf('hideTools') && !empty($_SERVER['REMOTE_USER']) );
|
||||
$showSidebar = true; /* */
|
||||
$hasFooter = page_findnearest('pagefooter');
|
||||
$showFooter = $hasFooter && ($ACT === 'show');
|
||||
|
||||
?>
|
||||
<html class="edge no-js" lang="<?php echo $conf['lang'] ?>" dir="<?php echo $lang['direction'] ?>">
|
||||
<head>
|
||||
|
@ -277,19 +276,13 @@ $classWideContent = ($ACT === "show") ? "": "wide-content ";
|
|||
tpl_content(false); /* the main content */
|
||||
?>
|
||||
<div class="clearer"></div>
|
||||
<?php if($showFooter):
|
||||
|
||||
|
||||
/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */
|
||||
/* Page Include Hook: pagefooter.txt */
|
||||
/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */
|
||||
?>
|
||||
<div class="wikipagefooter">
|
||||
<hr>
|
||||
<?php tpl_include_page('pagefooter', true, true) ?>
|
||||
<div class="clearer"></div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<?php
|
||||
if($ACT == 'show') echo Template::getInstance()->getInclude(
|
||||
'footer',
|
||||
'<div class="wikipagefooter"><hr>',
|
||||
'<div class="clearer"></div></div>'
|
||||
);
|
||||
?>
|
||||
</div><!-- .main-content -->
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue