wordpress 整合 zencart --wordpress on Zencart (WOZ) 并使用 Ultimate SEO URLs 静态化

在经过2天的安装整合调试,终于把 zencart和 wordpress整合在一起了。
记录下来以备不时之需。

首先说下版本。
zencart:1.3.9h
wordpress: 2.9.2 (后来我有直接升级到3.4 貌似也没发现问题。)
WOZ:1.5 下载地址
(貌似国内对 zen-cart.com 的ip解封了,以前要上代理的。不知道是我的通信商的问题?)

言归正传说下 WOZ 的安装。
下载woz 后,woz有一份详细的安装说明,是英文的稍微有点英文基础的基本上都能看懂。这里就不再把英文安装说明复制上了,我主要说下我的安装。

1.安装Wordpress

把Wordpress解压到你的ZenCart目录下,开始安装wordpres。(我的文件夹名称是wordpress)

2.上传WOZ的文件

把WOZ解压后的ZC_ROOT目录下的文件上传到服务器Zen-cart的安装目录下。
把WOZ解压后的WP_ROOT目录下的文件上传到服务器WordPress的安装目录下。(里面主要是woz作者的主题和一个验证wordpress路径的代码。)

3.设置Wordpress

在Wordpress的后台设置一下,设置 -> 常规 ->WordPress 安装地址 (URL)   设置成 http://your.zen-cart.com/wordpress
设置 -> 常规 ->博客地址 (URL)   设置成 http://your.zen-cart.com/blog .
(这里这样设置 是为了更好的 使用Ultimate SEO URLs 进行URL 静态化,对seo有更好的帮助。)

把主题设为:WOZ Default 1.0

4.修改html_header.php文件
在/includes/templates/MY_TEMP/common/html_header.php,在底部或头部(当wordrpess的css会影响到网店时,link 语句附近),</head>标记之间加上以下代码
<!– for WOZ BOF –>
<?php   if($_GET['main_page']==’wordpress’)  require($template->get_template_dir(‘tpl_modules_wordpress_header.php’,DIR_WS_TEMPLATE, $current_page_base,’templates’). ‘/tpl_modules_wordpress_header.php’); ?>
<!– for WOZ EOF –>

主要是引用wordpress相应css及文件。

5.安装zen-cart的woz模块
在http://your.zen-cart.com/admin中,module/woz manager 中进行安装,输入blog的物理地址,如果你不知道,可运行 http://your.zen-cart.com/wordpress/check_path.php来获取,输入正确,系统会自动判断是否有wordpress
(我的地址是 http://127.0.0.1/zencart/wordpress/)

6.设置woz的 url 静态化。
(作者 对 ceon uri 的插件进行了判断,如果你安装 ceon URI Mapping 插件,可以使用这个进行 url 静态化,这个要goolge 搜了,我是对 ceon uri 不熟悉。)

在wordpress 后台设置URL静态化,会生成.htaccess 文件, 注意:这个文件要生成在wordpress 博客 目录文件夹里,如果生成在 zencart 目录文件建立 请剪切 到wordpress 目录文件夹中
例如我的http://127.0.0.1/zencart/wordpress/.htaccess文件内容为:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /zencart/wordpress/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /zencart/wordpress/index.php [L]
</IfModule>

# END WordPress


然后在zencart目录文件夹下修改.htaccess 文件添加一下代码:
# BEGIN WordPress
RewriteRule ^blog/ index\.php?main_page=wordpress&%{QUERY_STRING} [L]
RewriteRule ^blog$ index\.php?main_page=wordpress&%{QUERY_STRING} [L]
# END WordPress


7.进入zencart后台打开侧边栏
可以根据需要,打开woz模块附带的5个woz侧边栏功能。

现在访问下,看看是否可以访问blog了
http://127.0.0.1/zencart/blog/hello-world/

当然你也可以根据自己需要 更换自己喜欢的blog 主题,根据自己网站的风格 跳转css。


补充:
在安装 woz 的时候 可能会报一下错误:
1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TYPE=MyISAM AUTO_INCREMENT=1' at line 7

主要原因是mysql 版本的问题,好像在mysql 5.1以后就不在使用 TYPE=MyISAM , 而 使用ENGINE=MyISAM 。(TYPE=MyISAM 和 ENGINE=MyISAM 都是设置数据库存储引擎的语句 .)

所以在安装前 要修改admin/woz_manager.php 第 30行 将 TYPE 改为 ENGINE 即可。

如果已经安装报错,只需要建个woz 的表就可以了,报错有提示 sql 语句:

CREATE TABLE  woz( 
woz_id int(11) NOT NULL auto_increment, 
woz_dir varchar(128) NOT NULL DEFAULT '', 
woz_language varchar(64) NOT NULL DEFAULT '0', 
PRIMARY KEY (woz_id), 
KEY `idx_woz_lang_zen` (`woz_language`) ) ENGINE=MyISAM AUTO_INCREMENT=1;


另外 也给自己普及下 mysql这方面的知识:

MyISAM:这个是默认类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引的 顺序访问方法) 的缩写,它是存储记录和文件的标准方法.与其他存储引擎比较,MyISAM具有检查和修复表格的大多数工具. MyISAM表格可以被压缩,而且它们支持全文搜索.它们不是事务安全的,而且也不支持外键。如果事物回滚将造成不完全回滚,不具有原子性。如果执行大量 的SELECT,MyISAM是更好的选择。

InnoDB:这种类型是事务安全的.它与BDB类型具有相同的特性,它们还支持外键.InnoDB表格速度很快.具有比BDB还丰富的特性,因此如果需要一个事务安全的存储引擎,建议使用它.如果你的数据执行大量的INSERT或UPDATE,出于性能方面的考虑,应该使用InnoDB表,

对于支持事物的InnoDB类型的标,影响速度的主要原因是AUTOCOMMIT默认设置是打开的,而且程序没有显式调用BEGIN 开始事务,导致每插入一条都自动Commit,严重影响了速度。可以在执行sql前调用begin,多条sql形成一个事物(即使autocommit打 开也可以),将大大提高性能。

以上mysql知识来自:http://blog.csdn.net/lingyi_xu/article/details/5393791

猜你喜欢

转载自whoiswhoiswho.iteye.com/blog/1565418