ページ 23

Posted: 2007/10/20 16:07
by yama
木下さんありがとうございます。requireやrequire_onceだと処理が止まるようなので(つまりこの時点でおかしいのですが)、
include_once("../../../../admin/includes/configure.php");
このようにしてみました。今回はZenCart設置ディレクトリがサブディレクトリであったりしても対応できるようにするのが狙いなので、このように相対指定にしています。
ちょっと説明しにくい状況なのですが、、、まず、iBrowserを開く時のエラーは出なくなりました。該当ディレクトリにもアクセスできているようなので、このタイミングにおいては「正解」と言える挙動のようです。
ところが次に「insert」をクリックして実際に画像を貼り付けるアクションに移ろうとすると、エラーが出力されます。such no dirとかだったかな?ディレクトリが存在しません、という意味のエラーです。

@$_SERVER['PHP_SELF']から'http://'. $_SERVER['SERVER_NAME']を引き算して、さらにそこからiBrowser設置ディレクトリまでのパスを引き算していけば、ZenCartを設置したディレクトリを確実に割り出せると思います。つまりドキュメントルート「 / 」に設置しているのか、サブディレクトリ「xxxxx」に設置しているのかですね。この値を割り出すのが確実なように思えてきました。

http:/**********.com/shop/editors/tiny_mce/plugins/ibrowser/config/
つまり上記のURLでいえば「/shop/」を取得できれば問題解決。ZenCartの設置ディレクトリが/shop/であるということです。「editors/tiny_mce/plugins/ibrowser/config/」は決め打ちで引き算。…と書いているうちに、できそうな気がしてきたような。。単純な文字列処理だし。。

半分ひとりごとみたいな報告ですみません。。汗

Posted: 2007/10/20 16:15
by yama
近眼星人さん さんが書きました:1.3.7の良い所だけ取り入れる方法のアップグレードはどうなんでしょうか?

おっしゃるとおりですね。ただ、相互に関連すると思われる変更箇所が膨大過ぎて。必要な部分だけを取り出してアップデートするのは難しそうに思います。

いずれ日本コミュが正式に1.3.x系または1.4に対応する時に参考になるかもと思いつつ練習のつもりで取り組んでますが、実用にはいろいろ問題ありそうです。たとえば今も共用SSL関係で思ったように動かなくて苦労してます。汗

エディタ関係は対応できると思います。もともとのたたき台を作ったdekobokoさんのアーカイブが今のような構成になってたわけですが、チューニングできると思います。

Posted: 2007/10/20 16:32
by 近眼星人
相互に関連すると思われる変更箇所が膨大過ぎて。必要な部分だけを取り出してアップデートするのは難しそうに思います。


その通りですね・・・・。そうなんですよね。

これは私の怠慢かもしれませんが、アップデートした部分が、
本当に必要か翻訳しながらだと、頭から煙が・・・。
yamaさんの直した部分を見て、本当に頭が下がります。

多々に機能を考えて、他のECソフトを見ると、
なんだか、私のやっていることがオナニーのようで気が滅入ります。
EC-CUBEのレイアウト部分とか、Magentoの画像表示など、
他も考えると、なんだかな縲怩ニ( ; ̄ω ̄)ゞ

Posted: 2007/10/20 18:54
by kino
木下です。

基本的には language を呼び出すところを弄って
japanese を呼び出してから english を呼ぶようにして
language/japanese配下のファイルをコピーするだけで
海外版の最新版の大半の機能を日本語でも使えるようになります。
で、使っていて英語になっているところだけ翻訳を追加していく。

その後、管理画面で言語として日本語を追加した後で
インストール時のSQLの日本語部分だけを取り出して
実行する。
このときに幾つかエラーが出るのを掻い潜りながら実行する
ことも必要かな。

1.3系列での日本語化の時にはコアファイルはそんなに弄っていなかった
のでそれで影響の出るところを順次修正していく方法でも良いかも。

海外のバージョンに追従する体制作りが必要ですね。

Posted: 2007/10/21 10:37
by yama
木下さんの話だと意外と簡単そうに思えたので、ついでにUTF-8化も調べてみました。これも簡単にできそうですね。2縲怩R個のコアファイルをそれぞれ1行ずつ書き換えて、あとは変換ツールなどを利用してlangファイルをUTF-8化。ちょっとやってみます。

あと、テスト版では近いうちにエディタをアーカイブから外してプラグインとして別配布にしたいと考えてます。
admin/includes/init_includes/init_html_editor.php
このあたりを少し書き換えて、あとは追加でモジュールを書いてZenCartを簡易のプラグイン仕様に。オーバーライドを重ねるとだんだんシステムが複雑になってきますし、特定のディレクトリにファイル一式をアップロードするだけで認識されるような、NucleusやWordPress並みにシンプルなシステム拡張ができればと思ってます。

Posted: 2007/10/21 11:17
by kino
木下です。

UTF-8版は Geeklogのサイトで公開しています。

MySQLやPHPのバージョンによって接続時に特定のコマンドを送信したり
php.iniの設定を行う必要がありますが
サーバー毎の設定もGeeklogのWikiのを参考にすれば
大方動作します。

Posted: 2007/10/21 18:34
by yama
確認させていただきました。本当に少し書き換えるだけですね。これなら簡単そう。

http://www.zen-cart.com/index.php?main_ ... cts_id=601
こちらの情報も少し気になってます。木下さんのアーカイブと比べると、インストールスクリプトがだいぶ書き換わっています。マルチバイト圏を意識して型が大きめにセットされているように思えます。
(「test」なら4バイトだけどUTF-8で「テスト」は10バイトくらい消費するということだったような。。)
あと、mysql4.1以上を意識してか「set names」が入っている箇所がありました。

Posted: 2007/10/22 13:28
by 志田
ものすごく出遅れてしまいました。
yamaさん、すごくお疲れ様です!

なんか、本家でもこういうスレが立っていました。

 http://www.zen-cart.com/forum/showthread.php?t=66892

1.3.0から1.3.7の間に追加された機能、or 修正されたバグで、ニーズが大きいものとかあるのでしょうか?

または、コントリビューションが1.3.0だと動作しないとか?

ニーズがどれほどあるのか気になりまして。

直近は携帯モジュールをやっています。
これがリリースされたら終わったらオフ会をやりたいと思ってます ;-)

Posted: 2007/10/22 15:59
by yama
> コントリビューションが1.3.0だと動作しないとか

これはけっこうあった気がします。
仮に1.3.0.x用があったとしても、その時点で開発がストップしていたりしますし。

Posted: 2007/10/23 06:41
by yama
ちょっと分からないところが出てきました。。
インストールスクリプトmysql_zencart.sqlです。

1.3.0.2では以下のようになっている部分。

DROP TABLE IF EXISTS meta_tags_categories_description;
CREATE TABLE meta_tags_categories_description (
categories_id int(11) NOT NULL auto_increment,
language_id int(11) NOT NULL default '1',
metatags_title VARCHAR(255) NOT NULL default '',
metatags_keywords TEXT,
metatags_description TEXT,
PRIMARY KEY (categories_id,language_id)
) TYPE=MyISAM;

これが1.3.7では以下のように。
DROP TABLE IF EXISTS meta_tags_categories_description;
CREATE TABLE meta_tags_categories_description (
categories_id int(11) NOT NULL,
language_id int(11) NOT NULL default '1',
metatags_title varchar(255) NOT NULL default '',
metatags_keywords text,
metatags_description text,
PRIMARY KEY (categories_id,language_id)
) TYPE=MyISAM;


「auto_increment」はなくてもいいのかな?と。必要だから付けたものだと思えるのですが。

Posted: 2007/10/23 07:36
by kino
木下です。

使い方を考えると有ってはいけないはずです。

デバッグ時等にデータの一意性を確保したいのであれば
下記のように其のテーブル特有のIDを設けてそれをオートインクリメントにする
ぐらい適当でしょうか。

DROP TABLE IF EXISTS meta_tags_categories_description;
CREATE TABLE meta_tags_categories_description (
meta_tags_categories_description_id int(11) NOT NULL auto_increment,
categories_id int(11) NOT NULL,
language_id int(11) NOT NULL default '1',
metatags_title VARCHAR(255) NOT NULL default '',
metatags_keywords TEXT,
metatags_description TEXT,
PRIMARY KEY (categories_id,language_id)
) TYPE=MyISAM;

Posted: 2007/10/23 23:04
by yama
ありがとうございます。とりあえずauto_incrementナシで試してみます。
UTF-8化、意外と簡単ですね。

UTF-8 版 おまけ情報

Posted: 2007/11/16 13:23
by Nhat
yama さんが書きました:ありがとうございます。とりあえずauto_incrementナシで試してみます。
UTF-8化、意外と簡単ですね。



実は、中国語サイトに UTF-8 のフルセット(もちろん中国語)があり、
http://www.zen-cart.cn/modules/wfdownlo ... =6&lid=195

ここにアップされている日本語データを使うと、見かけ上は、すぐ日本語化できちゃいます。

http://www.zen-cart.cn/modules/wfdownlo ... d=5&lid=93

日本語版との違いといえば、 Config メニューが中国語になっていることくらい?

MySQL で直接触るとか、インストール前にメニューだけ修正すれば、ほとんど日本語版ができてしまいます。

でも、あちらの Zen Cart のサイト、どういう開発体制なのか、まだちゃんと見ておりません。

内容の比較をするなど、参考になればと思います。

Posted: 2008/1/12 20:17
by ないす
ZenCart1.3.7-jp-for_test-3をダウンロードさせて頂きました。
有り難うございます。
早速インストールしてみたのですが...なぜかヤマトやペリカン便の「お届け時間」の選択メニューが出てきません。 yamato.phpを見るとちゃんと時間帯サービスの項目はあるんですけど...
どこかで設定が必要でしたでしょうか?

Posted: 2008/1/13 10:41
by yama
了解です。また調べてみます。月末までいろいろあって、来月になってからの確認になりますが。
1.3.8とかどうしよう。汗

ZenCart1.3.7-jp-for_test-3は、メール送信の際に一部文字化けがあったり
するのがまだ直ってないので要注意です。サーバによる気がするので.htaccessの
設定次第かもしれませんが。

Posted: 2008/1/13 17:17
by ないす
yama様ありがとうございます。
安定したバージョンを使用すべきなのですが、共用SSLの問題もあり1.30はダメだったので...1.37は今のテスト環境では大きな問題もなく動いているのでとりあえずこれで使ってみようかと考えています。
時間指定については致命的なものではないと考えておりますのでお時間のお有りの時に一度ご確認お願いします。

Posted: 2008/1/13 18:16
by yama
あ、1.3.0.2Jで共用SSLが使えないのはそれなりに理由があるんですよ。
1.3.7ではオウンリスク前提で制限をかけてないだけなので、そのへんは
理解が必要だと思います。

Posted: 2008/1/13 20:17
by kino
木下です。

1.3の日本語版系列でもカスタマイズすれば共有SSLでも動かすことは可能ですが
それに掛かる費用やリスクを考えたら 独自ドメインでSSLを動かせるサーバー
を借りた方が良いと思うのですが・・・

何故みんな共有SSLのサーバーに固執するのか不思議です。

Posted: 2008/1/13 20:34
by yama
おっしゃるとおりですね。共用SSLで安心しているレベルのクライアントさんの多くは、
SSLで安全が保証されている経路以外のところでいくらでも侵入のリスクがあるような
運用をしていそうですし。たとえば受発注情報をメールで受けてたりすると意味ないし。
そもそもSSLには、提供元の身元を保証する効果もあるものだと思います。これが共用だと
ショップではなくレンタルサーバ会社の情報になるので匿名運用すら可能ですね。

単純に、ステータスバーに表示させる鍵のマークを安価(ほぼ無料)に手に入れることが
できるというだけの動機でしかないというのが実情のような気がします。

Posted: 2008/1/14 11:21
by kimono
こんにちわ。kimonoです :)
本当になんで共有SSLなのかが分かりませんね縲怐B
共有SSLのために1.2系統を使っている人もいるぐらいですし。。。
ちょっと本末転倒のような気がしますね。


うちのSSLなら年間4,725円縲怩ニ安いのがありますけどw
http://www.obitastar.co.jp/modules/zox/c-8.html