joomla k2 extension中,mod_k2_content是用于显示k2文章的重要模块,实际使用中,不能满足我的要求,于是利用 sub_template解决。
问题:
k2允许为一个k2目录下的文章制定用户自定义的字段(extra fields)
mod_k2_content 可以指定是否显示自定义字段,但要么显示所有自定义字段,要么都不显示。
现在,有三个自定义字段(Name,Price,Color),但我在文章列表中,只希望显示标题和“Price”字段,此时,mod_k2_content不能满足要求了。
改造:
找到 joomla根目录\modues\mod_k2_content\tmpl,其下有一个子目录 Default,我们再创建一个子目录,onlyprice。
把Defaul目录下的default.php拷贝到onlyprice目录下
修改onlyprice目录下的default.php,为保证编码正确(UTF-8),最好是用Zend studio等开发工具修改。
找到:
<?php if($params->get(‘itemExtraFields’) && count($item->extra_fields)): ?>
<b><?php echo JText::_(‘Additional Info’); ?></b>
<ul>
<?php foreach ($item->extra_fields as $extraField): ?>
<li>
<span><?php echo $extraField->name; ?></span>
<span><?php echo $extraField->value; ?></span>
<br />
</li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
改为:
<?php if($params->get(‘itemExtraFields’) && count($item->extra_fields)): ?>
<?php echo “ ” ?>
<?php foreach ($item->extra_fields as $extraField):
if($extraField->name==”Price”):
echo $extraField->value;
endif;
endforeach; ?>
<?php endif; ?>
保存。
在joomla 管理后台,用 mod_k2_content 常见内容模块,在Select sub-template 处选择 onlyprice,其他内容和自己根据要求设置好。