summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/Matcha.php41
-rw-r--r--libs/Options.php4
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>'));