関数索引
channelCookieName() 関数はブラウザにアクセスすべきチャネルを記憶させるために使用する cookie の名前を返します。この関数の戻り値は「FTP管理」の「ルール」タブで「Cookie 名」欄に指定した名前です。 WebRelease が自動生成する mod_rewrite ルールの中では、この名前は cookie の名前、および、query string の変数名として使われています。
ページ中に、そのページの各デバイス用の版にアクセスするリンクを作成してみます。この例では、main (プライマリチャネル) tablet mobile の 3 つのチャネルが定義されていることを想定しています。
<body>
....
<br/>
このページは %channelName()% 版です。<br/>
<br/>
<wr-if condition="channelName() != \"mobile\"">
<a href="%thisPage().canonicalURL()%?%channelCookieName()%=mobile">モバイル版はこちら</a><br/>
</wr-if>
<wr-if condition="channelName() != \"tablet\"">
<a href="%thisPage().canonicalURL()%?%channelCookieName()%=tablet">タブレット版はこちら</a><br/>
</wr-if>
<wr-if condition="channelName() != \"main\"">
<a href="%thisPage().canonicalURL()%?%channelCookieName()%=main">PC版はこちら</a><br/>
</wr-if>
<a href="%thisPage().canonicalURL()%?%channelCookieName()%=.">お使いのデバイスに最適なページはこちら</a><br/>
<br/>
....
</body>
他のチャネルに誘導するための URL には、そのページの、プライマリチャネルでの URL (canonicalURL) の末尾に
?channel=<channelName>
という形式の query string を付加したものを使います。(チャネル選択機能のマニュアルを参照してください)この時、channel= の部分の query string のパラメタ名の部分は「FTP管理」画面の「ルール」タブで「Cookie 名」欄に指定した名前でなければなりません。その名前を取り出すために channelCookieName() 関数を使っています。
プライマリチャネル上での URL は Page オブジェクトの canonicalURL() メソッドで知ることができます。
サーバサイドの mod_rewrite によるデバイスの判別を実行して最適なチャネルに誘導する場合には、チャネル名に "." (ピリオド)を指定します。(チャネル選択機能のマニュアルを参照してください)