Adsenseコード

2017-09-27

【Salesforce】サイトで公開したページが「構築中です。」と表示される場合

# トラブルシューティング

以下を確認する
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 件のコメント:

コメントを投稿