K2 分类模板配置及分类参数设置详解及修改[二]

前面主要讲了 K2 分类模板配置及分类参数设置详解及修改 中关于怎么设置K2的模板,及举例使用模板的好处。下面我们来说一下如何在后台里面设置配置,决定Children categories是否显示,而不是前面说的直接删除。

如下图,我们举例准备把Children categories加在Sub-category blocks的上方,以方便管理和配置

k2_child_category_1

第一步,需要在控制台中加入配置选项,那么就先打开默认配置文件:

\administrator\components\com_k2\models\category.xml

找到Sub-category blocks相关的代码:

 

<param name="subCategories" type="radio" default="1" label="Sub-category blocks" description="">
<option value="0">Hide</option>
<option value="1">Show</option>
</param>

 

添加配置代码,并改为:

 

<param name="subCategories"  type="radio" default="1" label="Sub-category blocks" description="">
<option value="0">Hide</option>
<option value="1">Show</option>
</param>
<param name="childrenCattitle" type="radio" default="1" label="Children-category title blocks" description="">
<option value="0">Hide</option>
<option value="1">Show</option>
</param>

 

上面定义了childrenCattitle,将作为后台所取得变量值,1为显示,0为隐藏,这时候保存category.xml文件,尝试刷新后台,便得到下图结果,多了一项刚才命名的配置Children-category title blocks

k2_child_category_2

第二步,要把前面得到的childrenCattitle值,交给执行程序,去判断是1还是0。

再回到上一篇K2 分类模板配置及分类参数设置详解及修改文章中说到显示Children categories是在
\templates\ja_ores\html\com_k2\yourtemplate\category.php中的的代码:

 

<h3><?php echo JText::_('Children categories'); ?></h3>

 

将其改为:

 

<?php if($params->get('childrenCattitle') == 1) : ?><h3><?php echo JText::_('Children categories'); ?></h3><?php endif; ?>

 

原理很简单,通过$params取得xml配置中传入的childrenCattitle值 ,当其为1的时候才输出Children categories这几个字!这篇教程讲的比较简单,主要为了阐明K2的模板工作原理,以及DIY定制一些后台参数方法,本文可作参考!不过今天讲的涉及到改动K2的核心配置文件,还是要强调一下,注意备份

\administrator\components\com_k2\models\category.xml文件
 

K2 分类模板配置及分类参数设置详解及修改

K2的优劣就不说了!说说这个分类设置的问题,再如何DIY这些分类设置。

开始之前我们要先做一些重要的事

1、给K2做一套适合你自己的模板,或者叫布局(layout template),前往K2的某个分类,打开分类后,右边Category item layout有个“设置一个模板(select a template)” 点开下拉菜单如下图!图中所示是我预设的两种样式。

k2_catlayout

2、前往文件夹\components\com_k2\templates\中,不难发现有个名为“default”的文件夹!这就是第1条图中的Use Default配置,将此文件夹复制至 templates\ja_ores\html\com_k2\中 (注意,\ja_ores\是本示例教程才有的文件路径,请将此名改为您所用的模板名,比如jk_Joomla178),这一步意味着,你的核心文件中的com_k2\templates\将不再作用于K2的内容布局等,此时只有templates\ja_ores\html\com_k2\ 下面的文件起作用(如此做是为了以后K2升级之后,能继续保留这些修改配置,不可在\components\com_k2\templates\中修改,一旦升级将有可能被覆盖)

3、完成了第二步之后,此时就可以开始DIY了!前往templates\ja_ores\html\com_k2\,将default文件夹复制一份在同目录下,重命名为 yourtemplate,这时templates\ja_ores\html\com_k2\下就有了两个模板目录分别为default和yourtemplate,前往后台K2的分类设置中,刷新后台,便能见到图一中的情景

4、打开templates\ja_ores\html\com_k2\yourtemplate\ 发现有下图文件列表

k2_templtefile

5、开始DIY,举一个例子,K2分类默认配置的情况下,前台显示如下图,始终有个Children categories显示在

k2_diycase1

先不急着改程序,需要做的是检查后台是否有关闭此项显示的参数,前往后台K2分类设置处检查如下图(默认都是show,下图是本人所设置)

k2_categories

经过反复测试确认,后台中并无关于Children categories的显示与否!用firebug确定了代码大于在<div class="itemListSubCategories">处,打开文件\templates\ja_ores\html\com_k2\yourtemplate\category.php
CTRL+F找到代码:
<div class="itemListSubCategories">大约在77行左右,在此行代码的下面一行

<h3><?php echo JText::_('Children categories'); ?></h3>
只要将其注释掉即可(或者删除也行)

注释如:<?php /*?><h3><?php echo JText::_('Children categories'); ?></h3><?php */?>

下一节将讲一下如何在后台配置中添加参数,以供用户选择是否显示Children categories

Joomla! 3新特性:Tags标签

在Joomla! 3.1 Beta开发中,Joomla! 团队引入了一个新特性:Tags标签,这个功能会在后面的Joomla! 3.2中完善,Tags标签的好处不说大家自然知道,在Wordpress中比较常见,对于用户的粘性有很好的用处,在过去Joomla! 2.5中我们尝试使用meta属性来进行tags关联,实际效果并非那么好,所以将会以新的组件来实现。

我们希望本文能够引起开发者的兴趣,毕竟实际应用中并非我们希望的那样,所以如果你有兴趣,请来我们的开源项目组:点击进入

一些关键特性的说明:

  • 首先这肯定是简单无疑的功能
  • Tags标签会被集成在所有的核心组件中
  • 扩展的开发人员可以轻松的添加Tags标签到他们的扩展中
  • Tags标签是可以应用于不同的扩展中,比如跨表现类型。
  • Tags标签是可以被嵌入,每个Tags标签有它的父级Tags标签和它的子级Tags标签
  • 应该有几种布局表现,比如Tag模块
  • Tags标签不会改变内容的发布状态或者ACL权限控制
  • “多个类别Tags标签”,由ideas.joomla.org #7号提议。例如,你可以将相同的Tags标签分配给不同的内容类型 ,然后按Tags标签来创建博客布局

目前我们可以简单参考以下表现:

Tags标签组件:

Screenshot of the Tags Component

在文章管理中选择Tags标签

Selecting Tags in an Article

前台展示Tags标签

Screenshot example of Tags in the Front-end

Top