wordpress on zencart(woz) + zencart v1.3.0.2-4について

困った時はこちらで質問してください。回答を担当する人は特に決まっていませんので、分かる方は回答をお願いします。
アバター
sumida

wordpress on zencart(woz) + zencart v1.3.0.2-4について

投稿記事by sumida » 2008/11/14 22:33

zencart v1.3.0.2-4とwozを組み合わせても、zencart上のサイドボックスからのリンクがうまく動かない。
readmeのとおりインストールした後、以下の修正を加えてみた。

(1) サイドボックスの[more]以外は、zencartのトップページが表示される。
  アドレスの青字部分がないため、wordpressのページを表示してくれない。
    index.php?main_page=wordpress&xxxxxx
  対策:
    判明した範囲でmain_page=wordpress&を付加する。
    (a) wp-includes/template-functions-links.php
      $permalink = get_settings('home') . '/?main_page=wordpress&p=' . $post->ID;
      $link = get_settings('home') . "/?main_page=wordpress&page_id=$id";
      $link = get_bloginfo('home') . "/?main_page=wordpress&attachment_id=$id";
      return apply_filters('year_link', get_settings('home') . '/?main_page=wordpress&m=' . $year, $year);
      return apply_filters('month_link', get_settings('home') . '/?main_page=wordpress&m=' . $year . zeroise($month, 2), $year, $month);
      return apply_filters('day_link', get_settings('home') . '/?main_page=wordpress&m=' . $year . zeroise($month, 2) . zeroise($day, 2), $year, $month, $day);
      $output = get_settings('home') . "/?main_page=wordpress&feed={$feed}";
      $qstr = $index . '?main_page=wordpress&' . $page_querystring . '=' . $pagenum;
    (b) wp-includes/template-functions-category.php
      $catlink = $file . '?main_page=wordpress&cat=' . $category_id;
    (c) wp-content/themes/default/searchform.php
      <div><input type="hidden" value="wordpress" name="main_page" /><input type="text" value="<?php echo attribute_escape($s); ?>" name="s" id="s" />

(2) サイドボックス「サイドバー」の中身がなくなる。
  リンクからアーカイブ、ページ、検索を選択すると、中央にサイドバーを表示するため、サイドボックス「サイドバー」の中身が空で表示される。
  対策:
    wp-content/themes/default/下archive.php, page.php, search.phpを修正する。
      <?php /* get_sidebar(); */ ?>

以上です。
アバター
sumida

wordpress 2.6.3 + wordpress on zencart + zencart v1.3.8aの組み合

投稿記事by sumida » 2008/11/16 22:13

遊びのつもりで、wordpress 2.6.3とzencart v1.3.8aを、強引にwordpress on zencartで連携してみました。

1. zencart全体をSSL内(共用SSLのつもりで)に設置しました。
  結果:とりあえず連携できているようですが、Firefoxでは、表示途中でエラーコード-12263がダイアログ表示される。(中身は、表示されています。)
     Netscapeでは、この種のエラー表示はでません。

2. zencartを独自SSLで運用すると、nonSSLとSSLが混在して設置したとします。(あくまで、想像の範囲です。確認していません。)
  前置き:wordpressは、ネットによれば、v2.3からカノニカルURLという機能を搭載したそうです。
     その実行部は、canonical.phpのようで、wordpressで設定したブログのアドレスを参照する場合があります。
  疑問:ブログのアドレスは、1つ指定できます。
     zencartは、nonSSLで運用し、ログインによりSSLで運用すれば、アドレスは、2つになります。
     canonical.phpは、この点が考慮されていないので、「wordpress on zencartの導入ができない?」のではないでしょうか。

参考までに。
アバター
sumida

wordpress 2.6.3 + wordpress on zencart + zencart v1.3.8aの組み合

投稿記事by sumida » 2008/11/17 20:21

sumida さんが書きました:1. zencart全体をSSL内(共用SSLのつもりで)に設置しました。
  結果:とりあえず連携できているようですが、Firefoxでは、表示途中でエラーコード-12263がダイアログ表示される。(中身は、表示されています。)
     Netscapeでは、この種のエラー表示はでません。

原因判明しました。カノニカルURLがからんでるようです。

引用のように、Zencart全体をSSL化した場合に限定します。

Wordpressを、nonSSLで動作させていても、SSL化したZencartと連動する場合、Wordpressの「設定」「一般」で、次の項目もSSL化したアドレスを指定しないと連動できませんでした。

(1) ブログのアドレスをhttp://~で指定した場合、Zencartのhtmlの途中で、header(リダイレクト)が入るため、すでにヘッダーが出力されている旨のエラーを表示する。
(2) WordPressのアドレスをhttp://~で指定した場合、Zencartのhtmlの途中で、引用に示したエラーを表示する。(ブログの見出し背景のブルーがない。stylesheetの読み込みでエラーとなっていた。)

つまり、WordpressがnonSSLで稼動していても、ZencartがSSLで稼動している場合、「WordPressのアドレス」「ブログのアドレス」どちらも、https://~で指定する必要がある。
アバター
sumida

追伸:wordpress on zencart(woz) + zencart v1.3.0.2-4について

投稿記事by sumida » 2008/11/23 21:03

最初の書き込みで、「main_page=wordpress&」を追記するとしましたが、
このままでは、RSSを使用する場合、XMLでパースエラーとなります。

main_page=wordpress& --> main_page=wordpress&amp;

にしてください。
アバター
tango
記事: 223
登録日時: 2006/12/14 20:11
お住まい: TOKYO
連絡を取る:

Re: wordpress on zencart(woz) + zencart v1.3.0.2-4について

投稿記事by tango » 2008/12/01 21:41

以前から WordPress on ZenCart を利用させて頂いておりますので、このトピックが気になっておりました。
最近、新規にテスト環境を立ち上げたので、1.3.0.2-l10n-jp-4 を新規インストールして試してみました。

ZenCart は、ルートディレクトリに、WordPress は、サブディレクトリーにインストールしました。

設定はほぼデフォルトのまま、共用 SSL を利用して、SSL を設定。

「クッキー利用を必須にする」のみ、FALSE として試してみました。

結果、
http://*****.com/?
http://*****.com/index.php?main_page=wordpress
では、同じ wordpress のトップページが表示されます。

また、デフォルトで付属しているサイドボックスを全部 ON にしてリンクをチェックしましたが、全て大丈夫でした。

http://*****.com/?p=1
http://*****.com/index.php?main_page=wordpress&p=1
共に、同じ物が表示されます。

何か設定がおかしいか、URL の書き換え等のハッキングをしているのでは有りませんか?


当方の環境で認識している問題は、上記の SSL(セッション管理)設定の場合、WordPress 側で生成されるリンクが、zen_href_link() を通していないため、SSL ページ、非 SSL ページ間でセッションの引き継ぎが出来なくなる事ですかね。
これは、時間がある時に自力でなんとかしようとは思っています。
tango / 山崎@ゼロ・オフィス
http://www.zero-office.com/ [OFFICIAL]
http://tango.zero-office.com/ [PRIVATE BLOG]
http://www.zero-office.com/store/ [ZenCart 用 MOD 他]
アバター
sumida

Re: wordpress on zencart(woz) + zencart v1.3.0.2-4について

投稿記事by sumida » 2008/12/02 14:34

原因については、考えてもいませんでしたが、レンタルサーバーへのZenCartの配置は、
論理構造:
  nonSSL http://xxxxxx.com/store/index.php
  SSL   https://yyyyyy.net/zzzzzz/store/index.php (共用SSL)
物理構造:
  nonSSL ホームディレクトリ/virtual_html/store
  SSL   ホームディレクトリ/secure_html/
  secure_html/store --シンボリックリンク--> virtual_html/store
で、ZenCartをインストール後、全体をSSLにしました。

WordPressは、ZenCartと並列に配置し、nonSSLでインストールしました。

wozをインストール後は、WordPress(管理画面以外)へは、ZenCart経由となります。

また、wozのサイドバーを右のサイドボックスとした場合、ZenCartのmain_pageでWordPressを表示すると、右のサイドボックスが空になるので、wp-content/themes/default/下archive.php, page.php, search.phpについては、
  <?php /* get_sidebar(); */ ?>
の修正を加えています。
アバター
tango
記事: 223
登録日時: 2006/12/14 20:11
お住まい: TOKYO
連絡を取る:

Re: wordpress on zencart(woz) + zencart v1.3.0.2-4について

投稿記事by tango » 2008/12/02 15:10

お書きになっている設定は、
/includes/configure.php
の設定ですか?

コード: 全て選択

define('HTTP_SERVER', 'http://xxxxxx.com/store/index.php');
define('HTTPS_SERVER', 'https://yyyyyy.net/zzzzzz/store/index.php');
縲彌ndefine('DIR_WS_CATALOG', '');
define('DIR_WS_HTTPS_CATALOG', '');
縲彌ndefine('DIR_FS_CATALOG', 'ホームディレクトリ/virtual_html/store');
define('DIR_FS_HTTPS_CATALOG', 'ホームディレクトリ/secure_html/');

こんな感じでしょうか?

それなら、

コード: 全て選択

define('HTTP_SERVER', 'http://xxxxxx.com/store');
define('HTTPS_SERVER', 'https://yyyyyy.net/zzzzzz/store');
縲彌ndefine('DIR_WS_CATALOG', '/');
define('DIR_WS_HTTPS_CATALOG', '/');
縲彌ndefine('DIR_FS_CATALOG', 'ホームディレクトリ/virtual_html/store/');
define('DIR_FS_HTTPS_CATALOG', 'ホームディレクトリ/secure_html/');

このようにしたらうまくいきませんか?

おそらく、HTTP_SERVER, HTTPS_SERVER の "index.php" があるのでおかしくなっているのではないでしょうか?
tango / 山崎@ゼロ・オフィス
http://www.zero-office.com/ [OFFICIAL]
http://tango.zero-office.com/ [PRIVATE BLOG]
http://www.zero-office.com/store/ [ZenCart 用 MOD 他]
アバター
tango
記事: 223
登録日時: 2006/12/14 20:11
お住まい: TOKYO
連絡を取る:

Re: wordpress on zencart(woz) + zencart v1.3.0.2-4について

投稿記事by tango » 2008/12/02 15:31

追試です。

sumida さんが書きました:また、wozのサイドバーを右のサイドボックスとした場合、ZenCartのmain_pageでWordPressを表示すると、右のサイドボックスが空になるので、wp-content/themes/default/下archive.php, page.php, search.phpについては、
  <?php /* get_sidebar(); */ ?>
の修正を加えています。


sideboxes/wp_sidebar.php を右コラムに表示してみましたが、

/index.php?main_page=index&cPath=1
/index.php?main_page=wordpress
/?
/?p=1

以上、どのページでも左右コラムの表示は変わらない様に思います。
tango / 山崎@ゼロ・オフィス
http://www.zero-office.com/ [OFFICIAL]
http://tango.zero-office.com/ [PRIVATE BLOG]
http://www.zero-office.com/store/ [ZenCart 用 MOD 他]
アバター
koto-tool
記事: 190
登録日時: 2008/5/11 16:03
お住まい: 滋賀県草津市
連絡を取る:

Re: wordpress on zencart(woz) + zencart v1.3.0.2-4について

投稿記事by koto-tool » 2008/12/02 15:43

僕もちょっと気になってみていました。

SSL環境ではないですが、問題なく動作しているように感じます。

現在左サイドボックスだけのレイアウトにしていますが、左右あったときも特におかしな点は無かったように思います。

http://www.koto-tool.com/woz

adminとかと同じ位置にしてます。
//////////////////////////////////////
工具の激安通販店 koto-tool.com
http://www.koto-tool.com
100円の商品でも送料無料
http://www.esco.koto-tool.com

//////////////////////////////////////
アバター
sumida

Re: wordpress on zencart(woz) + zencart v1.3.0.2-4について

投稿記事by sumida » 2008/12/02 17:02

現時点の状況です。
ZenCart 1.3.8a + Wordpress 2.6.5 + woz(左記バージョン用にしたもの)ですが、
(1) 手元のiBook G4の環境:Apache 1.3.39+mod_ssl 2.8.30
   SSL(127.0.0.1:8443)でブラウズ
  「/?p=1」の形式で、WordPressの表示が出ました。

(2) レンタルサーバー:Apache 1.3.33+?
   SSLでブラウズ
  「/?p=1」の形式で、ZenCartで作ったトップページの表示が出ました。
  「/?main_page=wordpress&p=1」の形式で、WordPressの表示が出ました。

前述の構造は、HPアドレスとサーバーのディレクトリとの対応を表現したのもです。
つまり、nonSSLとSSLでは、ドメイン名が異なるが、HPの内容は、nonSSLもSSLも、同じ実体を使っているということです。
アバター
sumida

Re: wordpress on zencart(woz) + zencart v1.3.0.2-4について

投稿記事by sumida » 2008/12/02 17:15

サイドバーについてですが、
  ?cat=  カテゴリ
  ?m=   アーカイブ
  ?s=   検索
の形式で、表示すると、
中央のページ内に、サイドバーと同じ項目を表示するため、
右サイドボックスに配置したサイドバーが空(サイドボックスの枠だけ)で表示されます。
アバター
tango
記事: 223
登録日時: 2006/12/14 20:11
お住まい: TOKYO
連絡を取る:

Re: wordpress on zencart(woz) + zencart v1.3.0.2-4について

投稿記事by tango » 2008/12/02 18:29

sumida さんが書きました:サイドバーについてですが、
  ?cat=  カテゴリ
  ?m=   アーカイブ
  ?s=   検索
の形式で、表示すると、
中央のページ内に、サイドバーと同じ項目を表示するため、
右サイドボックスに配置したサイドバーが空(サイドボックスの枠だけ)で表示されます。


なるほど、そうなりますね。
これは、テーマ(テンプレート)のバグというか、想定していない使われ方なのでしょうかね。
私の関わっている運用サイトではテーマもサイドボックスも全部書き起しだったので気がつきませんでした。
tango / 山崎@ゼロ・オフィス
http://www.zero-office.com/ [OFFICIAL]
http://tango.zero-office.com/ [PRIVATE BLOG]
http://www.zero-office.com/store/ [ZenCart 用 MOD 他]
アバター
tango
記事: 223
登録日時: 2006/12/14 20:11
お住まい: TOKYO
連絡を取る:

Re: wordpress on zencart(woz) + zencart v1.3.0.2-4について

投稿記事by tango » 2008/12/03 13:52

なんか余計なおせっかいな様な気もしますが、/includes/configure.php は、こちらの方が良いかもしれません。

コード: 全て選択

define('HTTP_SERVER', 'http://xxxxxx.com');
define('HTTPS_SERVER', 'https://yyyyyy.net/zzzzzz');
縲彌ndefine('DIR_WS_CATALOG', '/store/');
define('DIR_WS_HTTPS_CATALOG', '/store/');
縲彌ndefine('DIR_FS_CATALOG', 'ホームディレクトリ/virtual_html/store/');
define('DIR_FS_HTTPS_CATALOG', 'ホームディレクトリ/secure_html/store/');
tango / 山崎@ゼロ・オフィス
http://www.zero-office.com/ [OFFICIAL]
http://tango.zero-office.com/ [PRIVATE BLOG]
http://www.zero-office.com/store/ [ZenCart 用 MOD 他]
アバター
sumida

Re: wordpress on zencart(woz) + zencart v1.3.0.2-4について

投稿記事by sumida » 2008/12/03 16:14

話が想定外へ膨らんでいるようで、
ZenCart全体をSSLにしているので、includes/configure.phpは、

コード: 全て選択

define('HTTP_SERVER', 'https://yyyyy.net/zzzzz');
define('HTTPS_SERVER', 'https://yyyyy.net/zzzzz');
define('DIR_WS_CATALOG', '/store/');
define('DIR_WS_HTTPS_CATALOG', '/store/');
define('DIR_FS_CATALOG', 'ホームディレクトリ/virtual_html/store/');

で、運用しています。
アバター
sumida

素朴に疑問なのですが。

投稿記事by sumida » 2008/12/03 16:45

HPアドレスを、「/?」とした場合、なぜ、Wordpressの画面がでるのか。
そちらのほうが、素朴に疑問に思うのですが。
アバター
tango
記事: 223
登録日時: 2006/12/14 20:11
お住まい: TOKYO
連絡を取る:

Re: wordpress on zencart(woz) + zencart v1.3.0.2-4について

投稿記事by tango » 2008/12/03 17:37

sumida さんが書きました:話が想定外へ膨らんでいるようで、


ああ、どうも申し訳ありません。

おせっかいついでにもう少し...。

最初の書き込みを再度読ませて頂いたのですが、こちらを見ると、
get_settings('home'), get_bloginfo('home') の返り値がおかしい様です。

ここには、WordPressのダッシュボードで
オプション→一般設定→ホームページアドレス (URI):
で設定された内容が返るはずで、本来であれば、

http://xxxxxx.com/store
https://yyyyyy.net/zzzzzz/store

等が返るのではないでしょうか?

ここの設定に "/index.php" が有るために、この様になってしまったのではないでしょうか?

sumida さんが書きました:HPアドレスを、「/?」とした場合、なぜ、Wordpressの画面がでるのか。
そちらのほうが、素朴に疑問に思うのですが。


これは、確かバージョンが上がった時にそのように仕様変更されたと記憶しております。
私もその時は「?」とは思いましたが、何か理由があったと思います。
詳しくは、開発者の hira さんに尋ねてみてはどうでしょうか?
tango / 山崎@ゼロ・オフィス
http://www.zero-office.com/ [OFFICIAL]
http://tango.zero-office.com/ [PRIVATE BLOG]
http://www.zero-office.com/store/ [ZenCart 用 MOD 他]
アバター
sumida

Re: wordpress on zencart(woz) + zencart v1.3.0.2-4について

投稿記事by sumida » 2008/12/03 18:21

そういう事ですか。

tango さんが書きました:これは、確かバージョンが上がった時にそのように仕様変更されたと記憶しております。


ZC_ROOT/includes/extra_configures/wordpress-config.phpに、

コード: 全て選択

   $req=substr($_SERVER['REQUEST_URI'],$i,1);
   if($req=='?'){
      $_GET['main_page']='wordpress';
   }

とありますね。
アバター
sumida

Re: wordpress on zencart(woz) + zencart v1.3.0.2-4について

投稿記事by sumida » 2008/12/03 19:11

根本の原因が判明しました。

tango さんが書きました:ここには、WordPressのダッシュボードで
オプション→一般設定→ホームページアドレス (URI):
で設定された内容が返るはずで、本来であれば、

http://xxxxxx.com/store
https://yyyyyy.net/zzzzzz/store

等が返るのではないでしょうか?


これについては、
https://yyyyyy.net/zzzzzz/store
で指定しています。

で、根本原因ですが、includes/configure.phpで、

コード: 全て選択

define('HTTPS_SERVER', 'https://yyyyy.net/zzzzz');
define('DIR_WS_CATALOG', '/store/');

となっています。
そして、includes/extra_configures/wordpress-config.phpで

コード: 全て選択

$i=strlen(DIR_WS_CATALOG);
$req=substr($_SERVER['REQUEST_URI'],$i,1);
if($req=='?'){
        $_GET['main_page']='wordpress';

となっています。ここで、たぶん推測ですが、
$_SERVER['REQUEST_URI']  '/zzzzz/store/?'
$i              strlen('/store/')
$req             このパターンだと's'
となり、仕様変更を台無しにしていたようです。

ただ、zzzzzの部分をDIR_WS_CATALOGに加えた場合、他の部分でうまくいかなかったように思います。
アバター
sumida

Re: wordpress on zencart(woz) + zencart v1.3.0.2-4について

投稿記事by sumida » 2008/12/03 19:17

sumida さんが書きました:ただ、zzzzzの部分をDIR_WS_CATALOGに加えた場合、他の部分でうまくいかなかったように思います。


うまくいっちゃいました。

コード: 全て選択

define('HTTPS_SERVER', 'https://yyyyy.net');
define('DIR_WS_CATALOG', '/zzzzz/store/');

zzzzzは、レンタルサーバーのSSL使用時に付加されるユーザ名だったので、HTTPS_SERVERに入れていましたが、DIR_WS_CATALOGに入れていれば、良かったということですね。
アバター
hira
記事: 905
登録日時: 2005/5/16 00:11
お住まい: 埼玉県
連絡を取る:

Re: wordpress on zencart(woz) + zencart v1.3.0.2-4について

投稿記事by hira » 2009/11/11 00:06

ご無沙汰してます。ようやくWOZのv1.4をリリースしました。
http://www.s-page.net/ja/2009/11/10/woz14_release
tango さんが書きました:当方の環境で認識している問題は、上記の SSL(セッション管理)設定の場合、WordPress 側で生成されるリンクが、zen_href_link() を通していないため、SSL ページ、非 SSL ページ間でセッションの引き継ぎが出来なくなる事ですかね。

この問題に関しても対応済みなので、是非お試しください。
Zen-Cartモジュールの配布、サイト構築、カスタマイズ、メンテナンス等
http://www.s-page.net/

Zen-Cart運営サイト 携帯&スマホ(レスポンシブル)対応済
http://www.hiraokaen.com/

“Zen Cart 質問コーナー” へ戻る