“k2”目录存档

joomla k2关于extra field

2010年06月29日,星期二

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 “&nbsp;&nbsp;” ?>

<?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,其他内容和自己根据要求设置好。

摘录:谈谈做产品展示,图文混排的小小心得

2010年05月31日,星期一

转自joomlagate

http://www.joomlagate.com/index.php?option=com_smf&Itemid=31&topic=7884.0

小弟愚见,仅供参考

本来吧我想要那种能展示产品照片,然后附带一点产品介绍,就是要图文的形式,后来找了好多第三方的组件,反正都不怎么合我的要求,phoca,simpleimage等这些在joomla.org上面排名靠前,人气较高的图片展示组件都试过了。
最后,我还是采用了joomla自带的文章系统,一篇文其实就是一件产品,然后把这些产品(文章)归结到一个名叫产品的category下!这样的话,joomla默认有一个首页文章展示,那么我想显示4件产品(4篇文章)就适用了!我可以分4列显示在首页,这样一来可以自动更新最新的产品。
那么,我只要它显示产品照片,产品简介或者产品名称(一个是缩略图,一个是正文,产品名称就用正文写罢了)所以选用了Smartresize图片裁剪插件,自动把文章插图裁剪成我需要的大小,然后文字介绍在图的正下方!!那么这个plugin确实好用,可是后来遇到个问题,我在一篇文章有两张图的话,它就会把这两张图都自动裁剪,后来在论坛上的angang523409 帮助下解决了这个问题,详细参阅此帖http://www.joomlagate.com/component/option,com_smf/Itemid,31/topic,7281.msg29735/ 这里要再次谢谢他。这时我遇到了个问题,我既然想图文显示,肯定也想能完美的换位置,比如图左文右,图右文左,这确实可以通过CSS来解决,但总不能我每篇文都用css来搞定吧。这个问题用Joomla目前为止我还没想到什么办法,改joomla的文章系统程序的话倒是可以,但似乎有点不划算,时间和技术上都不行。

在这要提的是为什么非要用joomla自带的文章系统呢,而不用第三方的图文组件,这就要归结到模板上了,可恶的就是很多模板做的时候完全是依 joomla自带的文章系统做的,这就给第三方图文组件带来了很大的障碍。

后来还是用了K2,K2的文章系统可以自定义很多文章展示模板,比如我可以定义两个,一个是为了本身的文章系统用,很多公司简介需要用单页文章来做,另外一个就是自己在K2的默认文章展示的基础上,对其进行了修改(比如改CSS可以改变图文的相对位置问题,为了更好看嘛,图左,文右) 那么当我做产品文章的时候,就用了这个自定义文章展示模板!这样也不会把原本的K2文章系统搞乱!
要说的是,改K2的item程序是一件易事,在item里面找到它的default样板,然后copy一个新名称,例如product(要注意的是不要有下划线的文件夹命名,无效,本人为此浪费了N久时间,太钻牛角尖,吃大亏了!) 好了,这样我在建category的时候就可以指定模板为product了。在product文件夹下的item程序改起来不是太难,先找到php调用的程序代码例如我只想显示image(缩略图)和 discription或者text,那么其它无关紧要的什么 creatdate、author的代码段都可以删掉,反正有默认的default模板!这样管理这些模板也比较方便,代码看起来也比较清晰!
其实上面都不是关键,我最终不就是为了能改变图文的相对位置嘛,所以啊上面做的修改肯定是有用的,item程序的修改过程中,引用的 class=”name”,这个默认的name我就可以自定义了,然后再在css样式表里面添加这个name相关的一些样式,能过css样式就完全可以做到,图文显示位置变动,等等等等,想要的效果!当然目前我的技术有限,还不能在K2后台里面添加可以输入位置变动的参数,见谅!

K2本身默认的后台里面的thumbnail裁剪并没有height的输入设置,我在K2官方论坛上一位捷克朋友的帮助下,修改了K2的部分参数,这样一来就可以输入缩略图的高度设置了详细参阅http://www.joomlagate.com/component/option,com_smf/Itemid,31/topic,7323.0/topicseen,1/

呵呵另外要说的是jamesfan是我的师傅,他平日不爱上网,所以这两个ID都是我在操作。

最后,如果单单只是想在某一页上面显示一个产品模块,大可不必像我这样麻烦,第三方模块可以做的更好看。