Joomla/Joomla!与Tikiwiki的外观整合

来自站长百科
跳转至: 导航、​ 搜索

Joomla | Joomla使用手册

Tikiwiki是一款基于php+MySQL的web程序,尽管名称中有wiki,但是其开发团队却称之为TikiWiki CMS/Groupware,因为TikiWiki不仅有维基功能,还自带文章系统、论坛、图库、下载、bug 追踪、多用户博客、Newsletter(电子期刊)、地图(Google Maps)等等多种功能。

安装 Tikiwiki 之后,它的界面自成一体。当进入 wiki 栏目,则网站顶部的导航菜单就看不到了,因为 Tikiwiki 有自己的模板系统。这样既不方便访客切换到其它栏目,也不利于网站风格的统一。幸好在 Tikiwiki 中提供了一个功能叫“自定义页头”(Custom Header),可以帮助解决这个问题。本条目主要介绍Joomla! 与 Tikiwiki 的外观整合。

查找目标源码[ ]

首先,我们要知道想要添加的那部分页面内容的源代码。就以上图为例,我们在显示了 Joomla! 模板的论坛页面上点击右键,选择“查看页面源代码”,可以看到下面的样子:

Joomla twiki 1.JPG

将源代码与前台页面相对比,我们很容易就找出哪些代码代表的是顶部的Logo及导航菜单等内容。既然我们需要的是页面顶部,那么目标源代码就是从 <body> 元素之后开始。我们只要判断出在那一行代码处截止就行了。找到之后,复制这段源代码。

注意:提取源代码的过程中最重要的就是保证获得的代码是“自我关闭”的,就是说,有一个 <div>,就必须有对应的 </div> 将它关闭,否则移植后就会出错。

插入页头代码[ ]

1.以管理员身份登录 Tikiwiki,点击菜单上的“Admin 首页”,然后点击“外观”,再点击“常规布局”,就看到了自定义页头的选项:

Joomla twiki 2.JPG

2.在“自定义网站标题”这里,勾选“启动”,然后在下面输入框中粘贴刚才获得的源代码。点击“应用”按钮,立即看到如下效果:

Joomla twiki 3.JPG

你看到上图第一个印象是什么?变形,丑陋,…… 对不对?这是为什么?我们来分析一下:

首先可以肯定,我们的大方向没错,因为我们想要的 Logo 图片和菜单链接都显示了。但是没有显示为正确的“样子”。我们应该想到,在 Joomla! 页面上,同样这些内容能够显示得很美观,是由于 CSS 控制了它们的“样式”。而当我们将这些源代码移植到 Tikiwiki 模板上时,这个模板并不受 Joomla! 的 CSS 控制,因此就变样了。

调用Joomla!的CSS来控制新页头外观[ ]

我们都知道,一般在模板中调用 CSS 文件的命令是在HTML的 <head> 区域使用 <link> 元素来调用的。因此,我们必须找到哪个文件负责给Tikiwiki 的模板输出 <head> 区域。

经过搜索,发现在 templates/styles/tikipedia/header.tpl 这个文件中(.tpl 文件是 Smarty Template 模板系统的专用格式)。

调用哪些CSS文件到Tikiwiki的模板中[ ]

这还需要分析 Joomla! 页面的源代码。经过查看源代码,我们找到影响页顶内容的代码,不仅有 template_css.css 文件,还有对应当前色彩方案的 green.css 文件,还有控制菜单的 ja-splitmenu.css 文件,另外还有一个 ja_script.js 文件也控制菜单的行为。因此,我们必须把这几个文件都引入到 Tikiwiki 的模板文件中去。

我们在 Tikipedia 这个模板所对应的 header.tpl 文件中,找到 <head> 元素,然后在其后面插入从 Joomla! 页面源代码中复制出来的上述 CSS 文件和 JavaScript 文件的代码。上传修改后的 header.tpl 文件,然后刷新 Tikiwiki 页面,就会看到如下效果:

Joomla twiki 4.JPG

可以看出,页顶基本上载入了 Joomla! 模板的页头。不过有一个小小的问题:“联系”那个菜单项目跑到第二行了。这似乎提示我们:用来显示菜单的那个 <div> 宽度不够。用新建一个 CSS 文件的方法解决了。将新建的 CSS 文件还上传到 Joomla! 模板的 css 目录,然后在 Tikiwiki 的 header.tpl 文件中添加一行代码来调用它即可:

Joomla twiki 5.JPG

经验小结[ ]

经过这次外观整合操作,我们有以下体会:

  • 用同样方法几乎可以使其它任何一种带有模板系统的独立 web 程序(例如 SMF2 或 phpBB3)加载 Joomla! 的模板顶部,从而实现外观统一;
  • 如果 Joomla! 的模板结构不是顶部导航,而是左侧或右侧导航,这个方法不适用;
  • 实际上可以将自定义页头代码直接插入到 header.tpl 文件中的 <body> 元素之后,效果是一样的;
  • 这个方法还可以向 footer.tpl 文件中插入 Joomla! 模板的页脚版权代码,从而使风格更统一;
  • 这个方法不仅在 Joomla! 1.0.x 适用,在 Joomla! 1.5.x 平台同样能行得通。

参考来源[ ]

http://www.joomlagate.com/article/joomla15-tutorial/visually-integrate-joomla-tikiwiki-by-custom-header-and-css/

Joomla 1.5使用手册导航

Joomla安装

Joomla!的安装

Joomla 1.5教程

Joomla!1.5自带资源给前台添加下拉菜单 | 巧用ReadMoreExt和Shadowbox来插入外链大图 | 借助pcDTR插件使用任意字体美化Joomla页面 | 借助Abivia Redaction插件滤除Joomla扩展的版权链接 | Joomla!1.5网站防黑9条戒律 | Joomla!1.5与Dokuwiki的完全整合方案 | 用SJSB桥接器无缝整合Joomla!1.5.9、SMF2.0论坛 | 详解用RokBridge 1.0RC8整合Joomla!1.5.9与phpBB3论坛 | Joomla!与Tikiwiki的外观整合 | Jumi插件的介绍 | 用CSS控制Display News模块的外观样式 | Open-Realty介绍 | Google Gears的应用 | 在Joomla!1.5文章中插入Ozio Gallery图库 | 文章中自动插入广告 | GCalendar介绍 | Joomla 1.5 SEO Patch的用法 | Joomla! 1.5生成中文PDF的解决方案

其他Joomla教程

用XAMPP快速搭建Joomla本地测试服务器 | 用Gmail的SMTP发送Joomla激活及通知邮件 | 深入认识Joomla CMS:扩展、菜单及模板 | Joomla 1.0教程 | Joomla高级教程 | Joomla! SEO教程