admin 管理员组

文章数量: 887143


2024年1月23日发(作者:json解析成map)

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 下载地址

(貌似国内对 的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) 设置成

/wordpress

设置 -> 常规 ->博客地址 (URL) 设置成 /blog .

(这里这样设置 是为了更好的 使用Ultimate SEO URLs 进行URL 静态化,对seo有更好的帮助。)

把主题设为:WOZ Default 1.0

4.修改html_文件

在/includes/templates/MY_TEMP/common/html_,在底部或头部(当wordrpess的css会影响到网店时,link 语句附近),标记之间加上以下代码

get_template_dir(‘tpl_modules_wordpress_’,DIR_WS_TEMPLATE, $current_page_base,’templates’).

‘/tpl_modules_wordpress_’); ?>

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

5.安装zen-cart的woz模块

在/admin中,module/woz manager 中进行安装,输入blog的物理地址,如果你不知道,可运行 /wordpress/check_来获取,输入正确,系统会自动判断是否有wordpress

(我的地址是 127.0.0.1/zencart/wordpress/)

6.设置woz的 url 静态化。

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

在wordpress 后台设置URL静态化,会生成.htaccess 文件,注意:这个文件要生成在wordpress 博客

目录文件夹里,如果生成在 zencart 目录文件建立 请剪切 到wordpress 目录文件夹中

例如我的127.0.0.1/zencart/wordpress/.htaccess文件内容为:

# BEGIN WordPress

RewriteEngine On

RewriteBase /zencart/wordpress/

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /zencart/wordpress/ [L]

# END WordPress

然后在zencart目录文件夹下修改.htaccess 文件添加一下代码:

# BEGIN WordPress

RewriteRule ^blog/ ?main_page=wordpress&%{QUERY_STRING} [L]

RewriteRule ^blog$ ?main_page=wordpress&%{QUERY_STRING} [L]

# END WordPress

7.进入zencart后台打开侧边栏

可以根据需要,打开woz模块附带的5个woz侧边栏功能。

现在访问下,看看是否可以访问blog了

127.0.0.1/zencart/blog/hello-world/

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

在线demo:demo

补充:

在安装 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_ 第 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打 开也可以),将大大提高性能。


本文标签: 文件 安装 目录 支持