【解決】Salesforce Community CloudでPicture Uploaderを使おうとするとInvalid Pageとなる
Community Cloudの立ち上げでバタバタしています。
SalesforceのAppExchangeには便利なアプリがいくつか上がっているのですが、Salesforce LabがだしているPictureUploaderがどうしても使いたくて奮闘していました。
https://appexchange.salesforce.com/listingDetail?listingId=a0N300000016YT5EAM
デフォルトだと、Contacts(取引先責任者)のページに写真アップロード用のVisualforceページを埋め込む形になっています。
ちょこっと修正するだけでカスタムオブジェクトに使うことも出来ます。
エラーの原因
Visualforceページを埋め込むと、こんな感じでアップロード用のフィールドと、サムネイル表示用のフィールドが現れます。
Salescloud側からContactsの詳細ページをみると、こちらからアップロード出来るのですが、CommunityCloud側からアップロードするとおかしな挙動を示します。
このフィールド全体に <a class="mask"></a>でこの領域が囲まれてしまい、アクションにjavascriptがひっかけられて存在しないURLに飛ばされるため、結果としてInvalid Pageという表示になるのがエラーの原因です。
バグフィクス
端的に言えばこのマスクを取り払ってしまいましょうというもの。
コミュニティビルダーを開いてブランディングをクリックするとこんなかんじになります。
</>というボタンを押すとCSS編集画面が開きますのでこんなかんじに書きましょう。
a.mask{width:0!important;height:0!important;}
これだけ。マスクが取り払われ、無事に使うことが出来るようになりました。めでたしめでたし