diff options
| -rw-r--r-- | libs/Matcha.php | 41 | ||||
| -rw-r--r-- | libs/Options.php | 4 |
2 files changed, 32 insertions, 13 deletions
diff --git a/libs/Matcha.php b/libs/Matcha.php index 616b5d9..7044d85 100644 --- a/libs/Matcha.php +++ b/libs/Matcha.php @@ -255,20 +255,35 @@ class Matcha */ public static function pageNav(Widget_Archive $archive, $tag) { - $archive->widget('Widget_Contents_Page_List')->to($pages); - //首页链接 - echo '<'.$tag.'><a href="'; - Utils::indexHome(); - echo '">首页</a></'.$tag.'>'; - //页面列表 - while($pages->next()) { + $data = json_decode(Helper::options()->customNav, true); + + if(Helper::options()->customNav!='' && $data==null) { + echo '导航栏设置错误'; + return false; + } + + if(Helper::options()->customNav=='' || $data['type']=='addition'){ + $archive->widget('Widget_Contents_Page_List')->to($pages); + //首页链接 echo '<'.$tag.'><a href="'; - $pages->permalink(); - echo '" title="'; - $pages->title(); - echo '">'; - $pages->title(); - echo '</a></'.$tag.'>'; + Utils::indexHome(); + echo '">首页</a></'.$tag.'>'; + //页面列表 + while($pages->next()) { + echo '<'.$tag.'><a href="'; + $pages->permalink(); + echo '" title="'; + $pages->title(); + echo '">'; + $pages->title(); + echo '</a></'.$tag.'>'; + } + } + + if(Helper::options()->customNav!='' && $data!=null) { + foreach($data['content'] as $item) { + echo '<'.$tag.'><a href="'.$item['link'].'" title="'.$item['text'].'">'.$item['text'].'</a></'.$tag.'>'; + } } } diff --git a/libs/Options.php b/libs/Options.php index 6cb7596..61e289c 100644 --- a/libs/Options.php +++ b/libs/Options.php @@ -176,6 +176,10 @@ function themeConfig($form) { $footerInfo = new Typecho_Widget_Helper_Form_Element_Text('footerInfo', NULL, NULL, _t('页脚附加信息'), _t(' <p class="description">将会在显示在 footer 标签结束之前,即页脚版权信息和不算子统计之后,可以在这里写入备案信息等附加内容</p>')); $form->addInput($footerInfo); + //自定义导航栏 + $customNav = new Typecho_Widget_Helper_Form_Element_Textarea('customNav', NULL, NULL, _t('自定义导航栏'), _t(' + <p class="description">用 JSON 书写,具体格式参考文档。</p>')); + $form->addInput($customNav); //自定义 head $customHead = new Typecho_Widget_Helper_Form_Element_Textarea('customHead', NULL, NULL, _t('自定义 head 头部'), _t(' <p class="description">将会输出在 head 标签结束之前,通常用于引入 css 文件。</p>')); |
