K2教程(七)-修改项目时间格式(另附 joomla高级技巧)

本文介绍了如何修改K2项目的时间格式,使其符合中国人的使用习惯,例如将时间格式改为“年月日 星期 时分秒”。通过编辑administratorlanguagezh-CNzh-CN.com_k2.j16.ini文件,将K2_DATE_FORMAT_LC2的值进行调整。此外,文章还分享了一种通用的解题思路,包括利用审查元素、全站搜索和分析源码来定位并修改前端元素,这种方法适用于对Joomla页面进行个性化改造。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在上一节中,可能有些朋友已经注意到默认情况下K2项目的时间格式是有问题的,如图-1。这样的时间格式是西方的显示方式,不符合中国人的使用习惯,我们希望的格式是“年月日 星期 时分秒 ”。 那么在这一节中将介绍如何修改项目时间格式。
首先给出修改的方法
打开文件 \administrator\language\zh-CN\zh-CN.com_k2.j16.ini 
找到代码: K2_DATE_FORMAT_LC2="l, d F Y H:i"
改成: K2_DATE_FORMAT_LC2=" Y年Fd日 l, H:i"
保存后刷新前台,如图-2,时间格式已经改成我们希望的样式。
--------------------------------------------------------------------------------------------------------
如果你只是想知道怎么改K2的时间格式,那么看到这里就可以了。
K2教程(七)-修改项目时间格式(另附 joomla高级技巧) - hznupeter - 智慧之树
图-1
  K2教程(七)-修改项目时间格式(另附 joomla高级技巧) - hznupeter - 智慧之树
 图-2

----------------------------------------------------------------------------------------------------------------------
其实这篇文章的关键从这里才开始。以上只是提供了这道题目的答案,以下将介绍这道题目的解题思路,聪明的人都不是只知道抄答案的。

按图索骥找源码
利用浏览器的审查元素功能,我们可以得知项目创建时间这个元素的class名为itemDateCreated。如图-3.【关于审查元素,恕不细讲】
知道这个元素的class之后,我们就希望找到它在源代码里的位置,通过查看源文件,找出日期格式显示不如意的原因。利用dreamweaver的全站搜索功能,我们搜索在源代码中搜索该字符串 itemDateCreated。【具体方法可以参考  前期教程 
查看搜索结果,如图-4,可能好多文件中都会含有该字符串,首先对文件类型进行分析。主要有xml、php、css。根据分析,显示前台元素的应该在php文件中。接下来,我们就对php文件进行排查,只有两个php文件中出现三条该字符串,这就好办了,逐个检查。我们可以发现item.php中的结构正好跟前台的DOM结构对上。如果你不放心,可以在源代码中加入一个标记,比如aaa,如图-5和图-6,在源代码中添加的aaa出现在了前端页面,由此就可以证明该源文件与该前台页面对应。
K2教程(七)-修改项目时间格式(另附 joomla高级技巧) - hznupeter - 智慧之树
 图-3.

K2教程(七)-修改项目时间格式(另附 joomla高级技巧) - hznupeter - 智慧之树
 图-4
K2教程(七)-修改项目时间格式(另附 joomla高级技巧) - hznupeter - 智慧之树
 图-5
K2教程(七)-修改项目时间格式(另附 joomla高级技巧) - hznupeter - 智慧之树
图-6

分析源码找出路
我们已经找到了与日期对应的源代码,接下来,该怎么办呢?
我们先看这段代码,如图-5.
在span里面有一个php输出,很醒目的,我们可以看到  K2_DATE_FORMAT_LC2  ,我们断定这是跟时间有关的一个字符串,因为其大衣是时间格式,但我们还不知道具体是什么格式。

顺藤摸瓜探究竟
我们可以断定时间的格式就是由 K2_DATE_FORMAT_LC2  控制的,再次利用dreamweaver的全站功能搜索这个站点下哪些文件中有这个字符串。
重要提示】由于该字符串是出现在ini文件中的,默认情况下dreamweaver全站搜不会搜到ini文件,需要进行设置,具体请参看  在DreamWeaver里搜索ini文件的问题  。
 设置后,我们发现,很多文件中含有该字符串。搜索结果如图-7.搜索结果文件有两类,php和ini。
小科普:ini是语言配置文件,记录的是字符串和字符串变量的关系,php文件通过调用字符串变量,输出其实际指向的字符串,joomla 的多语言就是建立在此基础之上的。
由于我们是从php文件一路找过来的,所以在这里我们就可以忽略它们,而直接看ini文件。前几条搜索记录应该是让我们很兴奋的,因为我们看到了带有时间格式的字符串【其中的关键标志是 小时和分钟之间的 冒号 】。
由此判断,我们寻找的方向是没有出错的。别急着打开某一个文件,这里还有很多信息可读。我们来看这些文件路径。
前两个都是在language下的en-GB中,该目录下放的是英语的语言配置文件,当网站设为英语时,该文件夹中的文件会被调用。如果网站是设为简体中文的,语言文件就会从language\zh-CN中调用。由于我使用的是简体中文,我就排除所有en-GB的文件。
接下来,我们重点关注zh-CN.com_k2.ini ,zh-CN.com_k2.j16.ini,zh-CN.mod_k2.j16.ini。根据joomla的命名法则,我们可以判断,第一个文件是用于汉化k2组件的,第二个应该是用在joomla1.6下的k2组件汉化,第三个是joomla1.6下k2模块汉化的。
我们打开第一个文件 zh-CN.com_k2.ini,修改其时间格式,比如在字符串的前面加abc,刷新前台,竟然没有变化。那对第二个文件 zh-CN.com_k2.j16.ini进行同样的试验,结果前台的时间前多了abc,说明该字符串对应了前台的时间格式。【此处不明白为何是要修改j16这个文件,这不应该是针对joomla1.6的吗,不明白,但至少找到修改的地方了。】
找到后,我们分析其时间的格式,很快就可以将各个字母与年月日对应起来,稍作顺序调整,就能将格式改成我们希望的样子。
K2教程(七)-修改项目时间格式(另附 joomla高级技巧) - hznupeter - 智慧之树
 图-7

理清思路回头看
我们回看整个过程,会发现时间显示的原理大致是这样的。在php文件中有一个元素的class为itemDateCreated,其中通过 JText::_('K2_DATE_FORMAT_LC2'));输出时间,时间的格式为 K2_DATE_FORMAT_LC2,这是一个字符串变量,其真正代表的含义在某一个ini文件中。通过一路的解析,最终就把项目的发布时间以ini文件中记录的时间格式显示在前台。

移花接木显身手
本次所讲,不仅仅是在讲修改项目时间格式,更关键的是介绍一种放之四海而皆准的方法和解题思路。用这个方法你可以找到前台页面的每一个元素所对应的源代码,比如页脚的版权信息,某些插件的logo、标语。用这个方法,可以修改前台页面的某些部分,比如某元素的显示与否无法在后台控制,就可以直接在源代码中找到他,并删除;也可以对前台元素的先后位置进行调整。总之,想要对页面进行个性化的改造,就可以使用此法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值