OpenCartにvQmodをインストール

そもそもvQmodってなんだ?ですよね。

サイトはこちら
https://code.google.com/p/vqmod/

 

ショッピングカートシステムというのはカスタマイズしたくなるシステムNo.1なんだと思います。
微妙に違う機能にしたい。微妙に違うデザインにしたいということが山のように発生しますよね。

OpenCartはカートシステムの中でもとくにカスタマイズしやすいです。
MVC(L) はキレイにフォルダごとに切り分けられ、わかりやすいファイル名にわかりやすい記述のPHPだからです。

これはすごい長所なのですが、同時にシステムのアップデートを阻んでしまいます。
OpenCartだけの問題ではないですね。他のすべてのカートシステムに言えることです。

ただ、OpenCartはこれにスマートな解決策を用意しています。

それがvQmod(のOpenCart対応バージョン)です。

システムで変更するのは
index.php
admin/index.php
の一部のみ。
これだけでシステムをカスタマイズし放題にしてくれます。インストールするだけでは害はありません。
やってみましょう(本番サーバにいきなりはしないでください)

https://code.google.com/p/vqmod/downloads/list

b44111362823dd5e1412267614f040a2.png

vqmod-2.3.2-opencart.zipをダウンロードします。

d5bf78e32d3921c10712d4f8d487056f.png

readme.txtには

https://code.google.com/p/vqmod/wiki/Install_OpenCart

を見てインストールしてくださいとあるので確認します。

まず、解凍してできたvqmodフォルダをOpenCartのルートディレクトリにUPします。

vqmod
vqmod/vqcache
vqmod/xml
のパーミッションを755にします(もしかしたら777かもしれません。さくらのレンタルサーバは755です)

さくらのレンタルサーバの場合は
vqmod/.htaccess
のOptionsの行をコメントアウトしてください

OpenCartのほうの
index.php
admin/index.php
のパーミッションを755にします。(もしかたら777かも。さくらは755です)

http://site/vqmod/install/
にアクセスします。Successのメッセージが表示されたらインストール完了です。

あとはxmlフォルダにいろんなxmlファイルを入れることでカスタマイズができるようになります。本体のファイルを変更する必要はないのでアップデートが簡単になりますね。

ためしにzjy作の会員登録の際、ニュースレターの購読の項目がデフォルトで「はい」になるようにしてみましょう。

<modification>
	<id>zjy_subscribe_newsletter</id>
	<version>0.1</version>
	<vqmver>2.3.2</vqmver>
	<author>zjy</author>

	<file name="catalog/view/theme/*/template/account/register.tpl">
		<operation>
			<search position="replace"><![CDATA[
				<input type="radio" name="newsletter" value="1" />
			]]></search>
			<add><![CDATA[
				<input type="radio" name="newsletter" value="1" checked="checked" />
			]]></add>
		</operation>

		<operation>
			<search position="replace"><![CDATA[
				<input type="radio" name="newsletter" value="0" checked="checked" />
			]]></search>
			<add><![CDATA[
				<input type="radio" name="newsletter" value="0" />
			]]></add>
		</operation>
	</file>

</modification>

これをsubscribe_newsletter.xmlとして保存し、vqmod/xmlフォルダに入れてみて下さい。入れるだけで認識されます。どうでしょうか?「はい」のところに始めからチェックが入っていますよね。