在网站设计中一个重要的思路就是内容与外观分离。这样有利于随时更换不同的外观而不必担心需要重新撰写内容。Joomla从一开始就支持这一理念。因此我们可以随心所欲地更换模板。

在新手入门系列中,我已经演示过如何在远程本地两种环境下安装Joomla的过程。那么,新网站建成之后,恐怕有很多人的第一个念头就是:这个默认模板太丑了,我要换一个。我们今天就来演示如何安装新模板。

Web 2.0: 内容与模板分离
Web 2.0: 内容与模板分离

在前面安装示范中,我们使用了Joomla 1.0.12 UTF-8特别版作为核心。安装完成后的网站前台应该是下面这个样子:

{flickr4j_photo id="513290295" size='2'}

我想大家对这个画面再熟悉不过了。但是很少有人一直用这个模板,尽管这个模板实际上设计很好。

对于大多数用户来说,不需要自己设计模板了。因为已经有很多热心的Joomla Fans 设计了很多漂亮而且免费的模板。本站的下载栏目中就展示了几百个,你可以挑选自己喜欢的样式。下载后的模板文件是Zip格式的压缩包。如果没有特别说明,请不要解压缩。因为Joomla可以直接安装压缩包,同时把模板以压缩包的形式存放也避免了对文件的误操作。

还有一点要注意:Joomla 1.0.x 版本的模板原理与Joomla 1.5.x 以上版本不同。因此,在下载的时候一定要看清楚适用哪个版本。本站的模板下载中心都已经分类标明。

在继续下面的操作之前,我假定你已经安装好了Joomla 1.0.x,并且拥有一个自己喜爱的模板的压缩包文件。

安装 Joomla 模板

以超级管理员身份进入Joomla后台,点击菜单上的“Installers -> Templates -Site”,这是安装前台模板的命令。如下图所示:

{flickr4j_photo id="513290333" size='2'}

点击该菜单之后,会进入模板安装页面。点击“浏览”按钮,找到刚才下载的压缩包,然后点击“Upload File & Install”按钮。很快就能看到安装成功的欢迎信息,如下图所示:

{flickr4j_photo id="513290353" size='2'}

从上图中可以看出,p3p70bf2正是刚刚安装的模板名称。不要点击“Continue”,除非你想接着安装其他模板。

如果在这一步出错,往往是因为需要传入模板文件的目录不可写。很多远程服务器的管理者还不懂得如何针对Joomla优化服务器环境,因此经常会出现这种情况。关于这个问题我在论坛也曾经多次讨论过,希望各位选择虚拟主机时注意对方是否了解Joomla,网站空间是否支持Joomla,否则每次安装组件、模块、插件、模板都很痛苦,需要手动修改文件夹权限。

言归正传。既然新模板已经安装成功,我们接下来要做的就是让Joomla应用新模板。因为Joomla不能自动应用新模板,必须手动指定。

点击后台菜单上的“Site -> Template Manager -> Site Templates”,如下图所示:

{flickr4j_photo id="513290387" size='2'}

点击后就进入了前台模板管理中心。我们可以看到刚才安装的p3p70bf2模板已经在列表中了。如果把鼠标指向其名称,马上就会浮现出该模板的缩略图,便于管理员了解模板的实际外观。如下图所示:

{flickr4j_photo id="513255192" size='2'}

如果你仔细观察,还可以注意到在“Default”这一栏,有一个绿色的对钩标记在rhuk_solarflare_ii这个模板后面。这表示当前网站前台使用的是rhuk_solarflare_ii这个模板。

用鼠标点击p3p70bf2模板前面的小圆圈,选中它,然后点击工具栏右上角的“Default”按钮,将网站前台模板更换为p3p70bf2模板。现在可以看到,刚才那个绿色的对钩移动到了p3p70bf2模板后面,如下图所示:

{flickr4j_photo id="513255220" size='2'}

新模板的安装基本上就完成了。

 


更换模板后中文乱码问题的解决

我们来到前台看看新模板的样子吧:

{flickr4j_photo id="513255338" size='2'}

从上图中可以看出,网站前台已经展示了新模板的外观风格。当然,那些粉红色的箭头是我在屏幕截图上手动添加的,并非模板所带来。

仔细看看我标注的地方,你会发现一个问题:原本应该显示中文的地方,怎么都成了乱码?

要解释这个问题,需要回顾一下Joomla的安装过程。在本站的另一篇文章中,我们也讲到过,原版英文Joomla不支持UTF-8编码,因此容易出现中文乱码。如果安装了Joomla 1.0.12 UTF-8特别版或者Joomla中文正式版,就可以支持utf-8编码的中文,但是模板必须同时支持。也就是说,在模板的“网页内容编码”这一栏,必须声明网站使用utf-8编码,才能保证中文正常显示。

如果你要问我为何非要支持UTF-8编码,那我只能说:这种编码支持的字符更多,它也是众多Joomla开发者和使用者的共同选择。尽管用UTF-8编码后数据库的体积要增大一倍,但是我仍然想说:尽量选择UTF-8,从一开始就不要走弯路。gb2312编码就像阎锡山的窄铁轨一样,纯属一种狭隘的垃圾。当然,这是我的个人观点,你有权不同意。关于编码问题本文不再赘述。

在本例中,我们安装Joomla时已经设定了数据库为UTF-8编码,现在前台出现了中文乱码,首先考虑是因为模板设置不当。一个最简单的检查方法就是在当前页面的空白区域点击鼠标右键,查看当前页面使用的语言编码。如下图所示,我们在右键菜单上的“编码”中看到正在使用的是“西欧(ISO)”编码:

{flickr4j_photo id="513328569" size='2'}

这个编码的声明是在模板的index.php文件中设置的。我们打开网站上  templates/p3p70bf2 目录下的 index.php 文件,在<head> 区域找到如下一句:

 

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

如下图所示:

{flickr4j_photo id="513293680" size='2'}

这一句就是声明网页编码的语句。我们将其中的iso-8859-1修改为utf-8,如下图所示,然后保存:

{flickr4j_photo id="513293706" size='2'}

我们再次回到网站首页,按下键盘上的F5刷新一下页面,就会看到刚才显示乱码的中文都已正常显示了:

{flickr4j_photo id="513255462" size='2'}

 

大多人用户在更换模板后出现中文乱码的问题都是这个原因。你完全可以仿照上述方法来自己解决。前面提到的Joomla默认的rhuk_solarflare_ii模板就设置了utf-8编码,因此建议在Joomla刚刚安装完毕就检查页面上的中文是否正常显示。如果能正常显示,而更换了模板之后却变成了乱码,那么问题就应该是在模板中的那句编码声明中。

模板底部的版权内容在什么地方修改

经常在论坛或者QQ群里面听到有人大叫“模板最下面版权的内容在什么地方修改啊?”,这个问题实际上不难。

对于Joomla原版及默认的模板,Joomla官方将该版权声明放置在 /includes/version.php 文件中,大概在第43行。

同样的,Joomla中文版也是在这里修改。

如果你安装了一个新的模板,该模板的作者可能在模板的 index.php 文件中没有调用 version.php 文件,因此Joomla官方的版权声明不见了,显示的是模板设计者的版权信息。如果你要修改或删除,必须打开该模板的 index.php ,在文件末尾部分寻找相应代码,找到后直接删除及可。也有的作者把版权信息写在另外一个文件中,而在模板的 index.php 文件中调用该文件。这种情况下就需要认真寻找,看看文件末尾是否调用了其他的文件,格式很可能是php,也有可能是html或者txt。

最笨的、然而最有效的一个办法是,将该模板解压到本地,然后搜索其所有格式的文件(包含子目录),看看哪一个包含了版权声明中的字串。要知道,模板作者不可能把版权声明写入你的数据库,因此它必然包含在某个文件中。——这个方法同样适用于其他任何组件或模块。

不过需要提醒的是,很多模板作者都明确表示:如果要免费使用他们设计的模板,就必须保留版权信息。大概国人对版权保护漠视习惯了,所以删除版权也就成了另一种习惯。我最后建议你,如果觉得保留版权有碍版面布局,可以保留文字但将其颜色设置为与背景颜色一致,这样既保留了链接,又维护了页面的整洁。好像有这么一句话:“Do People Want Thick Road”,做人要厚道!