# トラブルシューティング
以下を確認する1.サイトに対象のVFページを追加しているか。
2.サイトゲストユーザプロファイルに、
VFページとApexコントローラの権限を与えているか
3.移動先のURLのドメインが、サイト用のドメインになっているか
4.少し待ってみる(30分程度)
Salesforce の内部処理が終わってなくて、
設定が反映されていないことがあります
5.コントローラで返しているURLはサイトドメインのURLか
# 補足
5について次のページに遷移させる処理を記述する時、
グローバル変数で記述する Page.VF_NextPage は
コントローラのメソッドとして return する形式でないと
サイト用のドメインのURLに変換してURLを返してません。
上記とは別にコントローラに Page.VF_NextPage を
public な変数として置き、その変数を get する方法だと、
サイトドメインのURLを返さずに
組織内部のログインユーザ向けのURLをそのまま返します。
こんな感じのやつ → /apex/VF_NextPage
サンプルコード(サイトドメインのURLに変換してくれない例)
(Apex)
public PageReference nextPage {
get {
return Page.VF_NextPage;
}
set;
}
(Visualforce)
```<a href="{! nextPage}">次ページ</a>```
サンプルコード(サイトドメインのURLに変換してくれる例)
(Apex)
public PageReference nextPage() {
return Page.VF_NextPage;
}
(Visualforce)
```<apex:commandbutton action="{! nextPage}" value="次ページ" />```
※ 下の場合は、Salesforceが裏側でサイトドメインのURLに変換してくれるので、サイトゲストユーザプロファイルでも閲覧できる。)
0 件のコメント:
コメントを投稿