added new extension hook

using hook for reading modes in navigation
pull/1714/head
Kevin Papst 7 years ago
parent c3d2496bb3
commit 84c78098d2
  1. 40
      app/layout/nav_menu.phtml
  2. 4
      lib/Minz/ExtensionManager.php

@ -131,20 +131,38 @@
<?php $url_output = Minz_Request::currentRequest(); ?> <?php $url_output = Minz_Request::currentRequest(); ?>
<div class="stick" id="nav_menu_views"> <div class="stick" id="nav_menu_views">
<?php $url_output['a'] = 'normal'; ?> <?php
<a class="view_normal btn <?php echo $actual_view == 'normal'? 'active' : ''; ?>" title="<?php echo _t('index.menu.normal_view'); ?>" href="<?php echo Minz_Url::display($url_output); ?>"> $readingModes = array(
<?php echo _i("view-normal"); ?> 'normal' => array(
</a> 'name' => _i("view-normal"),
'title' => _t('index.menu.normal_view'),
'url' => array_merge($url_output, array('c' => Minz_Request::defaultControllerName(), 'a' => 'normal')),
'active' => (Minz_Request::controllerName() == Minz_Request::defaultControllerName() && $actual_view == 'normal'),
),
'global' => array(
'name' => _i("view-global"),
'title' => _t('index.menu.global_view'),
'url' => array_merge($url_output, array('c' => Minz_Request::defaultControllerName(), 'a' => 'global')),
'active' => (Minz_Request::controllerName() == Minz_Request::defaultControllerName() && $actual_view == 'global'),
),
'reader' => array(
'name' => _i("view-reader"),
'title' => _t('index.menu.reader_view'),
'url' => array_merge($url_output, array('c' => Minz_Request::defaultControllerName(), 'a' => 'reader')),
'active' => (Minz_Request::controllerName() == Minz_Request::defaultControllerName() && $actual_view == 'reader'),
),
);
<?php $url_output['a'] = 'global'; ?> $readingModes = Minz_ExtensionManager::callHook('nav_reading_modes', $readingModes);
<a class="view_global btn <?php echo $actual_view == 'global'? 'active' : ''; ?>" title="<?php echo _t('index.menu.global_view'); ?>" href="<?php echo Minz_Url::display($url_output); ?>">
<?php echo _i("view-global"); ?>
</a>
<?php $url_output['a'] = 'reader'; ?> foreach($readingModes as $key => $mode) {
<a class="view_reader btn <?php echo $actual_view == 'reader'? 'active' : ''; ?>" title="<?php echo _t('index.menu.reader_view'); ?>" href="<?php echo Minz_Url::display($url_output); ?>"> ?>
<?php echo _i("view-reader"); ?> <a class="view_normal btn <?php if ($mode['active']) { echo 'active'; } ?>" title="<?php echo $mode['title']; ?>" href="<?php echo Minz_Url::display($mode['url']); ?>">
<?php echo $mode['name']; ?>
</a> </a>
<?php
}
?>
<?php <?php
$url_output['a'] = 'rss'; $url_output['a'] = 'rss';

@ -31,6 +31,10 @@ class Minz_ExtensionManager {
'list' => array(), 'list' => array(),
'signature' => 'NoneToNone', 'signature' => 'NoneToNone',
), ),
'nav_reading_modes' => array( // function($readingModes = array) -> array | null
'list' => array(),
'signature' => 'OneToOne',
),
); );
private static $ext_to_hooks = array(); private static $ext_to_hooks = array();

Loading…
Cancel
Save