異なるコンテキスト間のリンク生成がうまくいきません  【解決済み】

質問全般・改善要望
afactdesign
メンバー
メンバー
記事: 11
登録日時: 2011年11月03日(木) 15:44

異なるコンテキスト間のリンク生成がうまくいきません  【解決済み】

投稿記事by afactdesign » 2014年2月27日(木) 23:52

-----
ご利用のサーバ: Cent OS
MODXのバージョン: Revo 2.2.9
PHPのバージョン: 5.2.17
MySQLのバージョン:5.5.33-31.1
ブラウザ:Firefox
-----
こんにちは。
いつもいろいろなトピックで学ばせていただいております。

現在MODx Revo 2.2.9 を使ったサイトを作成しており、コンテキストにてPC版(http://www.hoge.com)と携帯版(http://mob.hoge.com)を管理しています。
この度携帯サイトのページから別コンテキストとなるPC版の同じページにリンクをさせようとしていますが、うまくURLが生成できません。

例えば 商品ページの場合、
PC版)http://www.hoge.com/products.html (ID:32)
携帯版)http://mob.hoge.com/products.html (ID:102)
この携帯版ページから、「PCサイトはこちら」というリンクを作り、携帯版からPC版の該当ページへリンクさせる方法を取ろうとしています。
この際、通常のリンクと同じようにリンクタグを設置した場合、
<a href="[[~32]]">PCサイトはこちら</a>
この場合に生成されるURLは、http://mob.hoge.com/products.html となり、本来のhttp://www.hoge.com/products.html へとリンクされませんでした。
また &context=`key` というオプションが付けれる、ということが記載されていたので下記のように試しました。
<a href="[[~32? &context=`web`]]">PCサイトはこちら</a>
しかし同様にhttp://mob.hoge.com/products.html へリンクされ、本来のhttp://www.hoge.com/products.html へとリンクされませんでした。

他に、力技しかないと思い、下記の方法も試しましたが、無理でした。
<a href="http://www.hoge.com/[[~32]]"> ・・・ http://www.hoge.com/http://mob.hoge.com/products.html を生成
<a href="http://www.hoge.com/[[~32? &scheme=`abs`]]"> ・・・ http://www.hoge.com/http://mob.hoge.com/products.html を生成

つまり、何をどうしても、別コンテキストのドキュメントをリンクタグで呼び出そうとすると、URLの前に必ず現コンテキスト(この場合、携帯サイト)のURLが頭についてしまい、別コンテキストURLへのリンクができません。
どのようにすれば別コンテキストのリソースへとリンクをすることが可能になりますでしょうか?
よろしくお願いいたします。
dokutoku
メンバー
メンバー
記事: 30
登録日時: 2012年10月01日(月) 19:58

Re: 異なるコンテキスト間のリンク生成がうまくいきません

投稿記事by dokutoku » 2014年2月28日(金) 03:31

おそらくですが、サイトのコンテキストの設定がうまくいっていないんじゃないかと思われます。
左側にある家の様なアイコンをクリックして、それぞれのコンテキストの設定を確認してもらえないでしょうか。

もし何もなかったら、新規作成でPC版と携帯版の両方に以下のキーを作成します。
■PC版
キー名:site_url
値:http://www.hoge.com/

■携帯版
キー名:site_url
値:http://mob.hoge.com/


それができたら、キャッシュをクリアすればうまく出力してくれると思います。
Webサイト制作知識のまとめ
http://ws-matome.jp/
afactdesign
メンバー
メンバー
記事: 11
登録日時: 2011年11月03日(木) 15:44

Re: 異なるコンテキスト間のリンク生成がうまくいきません

投稿記事by afactdesign » 2014年2月28日(金) 08:08

dokutokuさん、お早いコメントありがとうございます。
携帯用のコンテキストにはsite_urlをhttp://mob.hoge.com/ と設定しておりました。が、Webの方には設定していませんでした・・・。
両方設定したところ、おっしゃる通りちゃんと正しいリンクが生成されました!
本当にありがとうございます。