ページ 11

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

Posted: 2014年2月27日(木) 23:52
by afactdesign
-----
ご利用のサーバ: 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へのリンクができません。
どのようにすれば別コンテキストのリソースへとリンクをすることが可能になりますでしょうか?
よろしくお願いいたします。

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

Posted: 2014年2月28日(金) 03:31
by dokutoku
おそらくですが、サイトのコンテキストの設定がうまくいっていないんじゃないかと思われます。
左側にある家の様なアイコンをクリックして、それぞれのコンテキストの設定を確認してもらえないでしょうか。

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

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


それができたら、キャッシュをクリアすればうまく出力してくれると思います。

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

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