FLATzブログ

[ZenCart]の記事一覧

[ZenCart]スタートファイル名を変更する2

2006年04月20日(木)19:16|nasu|FLATzブログ, PHP, ZenCart, 技術情報このエントリをdel.icio.usに追加このエントリをはてなブックマークに追加

那須です。


前回スタートファイル名を変更するにて、index.php のファイル名を変更する場合の注意点を述べましたが、その続報です。


includes/classes/payment.php


にても同様にファイル拡張子によるチェックが行われており、スタートファイル名を変更すると paymentモジュールが呼び出されないなど不具合が起きます。こちらは前回以上に致命的な結果をもたらす可能性があるので、より注意が必要です。


もうここまで来ると、結論としてZenCartではスタートファイル名の拡張子以下を削る、または拡張子を変更するということは避けた方が無難です。


手遅れな場合(僕の事ですが_no)、拡張子チェックをしている部分を改めて見直す必要があります…

続きを読む


[ZenCart]スタートファイル名を変更する

2006年04月17日(月)17:53|nasu|FLATzブログ, PHP, ZenCart, 技術情報このエントリをdel.icio.usに追加このエントリをはてなブックマークに追加

那須です。


ZenCartのショッピングサイトを表示する場合、通常 index.php を用いる事が多いと思います。
ですが、今回はそのファイル名を変更する場合、つまり index.php ではなく index.phtml にしてみたり main といった拡張子無しに変更した場合の動作について述べたいと思います。


2重の意味で何故そんなことを?と思うかもしれませんが、まず最初の疑問点であろう、何故ファイル名を変更する必要があるのかについては、理由は様々だと思いますので、今回は省略します。


では、何故ファイル名を変更することについてここで論じるのかということについてですが、結論から言ってしまえば、拡張子を変更したり、省略した場合、一部モジュールが機能しなくなってしまうためです。


具体的には、各 extra_* で拡張したモジュールが機能しません。ZenCart1.2系では


product_free_shipping
product_music


が機能しないことになります。あまり利用しない機能だとは思いますし、実を言うとこれらのモジュールの使い方については、把握していないのですが…おそらく問題が発生するのは、独自拡張したり、フリー又はシェアで提供されている外部モジュールを用いる場合です。
私もs-pageさんのモジュールを利用させていただく際に初めて気付きました。


本題に戻りますが、拡張子を変更している場合で、これら extra_ に格納されたモジュールを用いる場合


../includes/modules/extra_functions.php
../includes/modules/extra_datafiles.php


内で拡張子チェックをしている部分の修正が必要です。


$file_extension = substr($PHP_SELF, strrpos($PHP_SELF, ‘.’));


と呼び出し側の拡張子を抜き出して、モジュール側との拡張子チェックを行ってますので、モジュール側の拡張子が固定されているようなら、以上の式を


$file_extension = “php”;


のように書き換えてしまうのも手でしょう。


ちなみに


../includes/modules/extra_definitions.php


も同様の処理が行われているのですが、拡張子がない場合については対応されています。全ファイルでちゃんとやってくれ!という気もしますが…


また


../includes/classes/template_func.php


でも拡張子チェックを行っているのですが、こちらはデフォルト指定になっているため、以上の場合でも問題は起きません。

続きを読む


Page 6 of 6« First...«23456

このページの先頭へ