无意间看到category表有type字段,此字段加以利用以实现标题之目的。完成此项功能有三大部分:
1.管理-分类管理
2.文章、问题、活动列表
3.文章、问题、活动发表时分类选择。
此篇继承前几篇解释+代码的风格,边做边写就不整理代码上传了。
第二部分:列表-分类导航===================================
这一部分很简单,获得list,然后展示出来。涉及文件:
1.app/article/main.php
2.app/question/main.php
3.app/project/main.php
4.view/default/article/square.tpl.htm
5.view/default/question/square.tpl.htm
6.view/default/project/square.tpl.htm
2015/12/28 00:08重新修改整理。因未安装活动模块没再细作探究
文件一 line 218 :
if (TPL::is_output('block/content_nav.tpl.htm', 'question/square'))
{
TPL::assign('content_nav_menu', $this->model('system')->fetch_category('article'));
}
文件二 line 416
if (TPL::is_output('block/content_nav.tpl.htm', 'question/square'))
{
TPL::assign('content_nav_menu', $this->model('system')->fetch_category('question'));
}
新建 views/default/block/content_nac.tpl.htm,内容为:
<?php if ($this->content_nav_menu) { ?>
<div class="container category">
<div class="row">
<div class="col-sm-12">
<?php if (get_setting('category_display_mode') == 'list') { ?>
<ul class="list">
<li<?php if (!$_GET['category']) { ?> class="active"<?php } ?>><a href="<?php echo $_GET['app']; ?>"><?php _e('全部'); ?></a></li>
<?php foreach ($this->content_nav_menu as $key => $val) { ?>
<?php if ($val['title']) { ?>
<li<?php if (( $_GET['category'] AND ($val['id'] == $this->category_info['id'] OR $this->category_info['parent_id'] == $val['id'])) OR ($val['type'] == 'feature' AND $this->feature_info['id'] == $val['id'])) { ?> class="active"<?php } ?>>
<a href="<?php echo $val['type']; ?>/category-<?php echo $val['url_token']; ?>"><?php echo $val['title']; ?></a>
<?php if ($val['child'] && get_setting('nav_menu_show_child') == 'Y') { ?>
<div class="aw-dropdown" role="menu" aria-labelledby="dropdownMenu">
<span></span>
<ul class="aw-dropdown-list">
<?php foreach ($val['child'] AS $_key => $_val) { ?>
<li><a href="<?php echo $_val['type']; ?>/category-<?php echo $_val['url_token']; ?>"<?php if ($_val['id'] == $this->category_info['id']) { ?> class="active"<?php } ?>><?php echo $_val['title']; ?></a></li>
<?php } ?>
</ul>
</div>
<?php } ?>
</li>
<?php } ?>
<?php } ?>
</ul>
<?php } ?>
</div>
</div>
</div>
<?php } ?>
第三部分:发表时不同分类的实现
很简单:
文件app/publish/main.php line168 app/project/main.php line88
$this->model('system')->build_category_html('question'
分别把question 修改为 article和project。
【至此完】
阅读全文
收起全文