Enhancement(機能追加・改善) #3365
OpenPNEが設置されているURLをJavaScriptコードから取得できるようにする
0%
説明
概要¶
OpenPNE3.8.x からは openpne.apiBase の値を取得することで JavaScript コードから api.php へのパスを把握することができるが、SNS が設置されている URL (pc_frontend のルート URL) は取得できる状態にはなっていない。OpenPNE が http://example.com/sns/
のようにサブディレクトリ以下に設置されている場合もあるため、ルート URL を /
に決め打ちすることはできない。
現状、opTimelinePlugin のように JavaScript で動的にページを更新するプラグインでは url_for('@homepage')
を代わりとして多用しており、適切な用法でないだけでなく url_for を使用するために PHP コードに依存してしまうという問題が存在する。
仕様¶
source:apps/pc_frontend/templates/_layout.php の
$jsonData = array(
'apiKey' => $sf_user->getMemberApiKey(),
'apiBase' => app_url_for('api', 'homepage'),
);
echo javascript_tag('
var openpne = '.json_encode($jsonData).';
');
に baseUrl の項目を追加し、JavaScript コードから openpne.baseUrl
で OpenPNE が設置されている URL を取得できるようにする。
関連するチケット
関係しているリビジョン
add openpne.baseUrl for client-side rendering (fixes #3365)
add openpne.baseUrl in smartphone layout for client-side rendering (fixes #3365)
履歴
#1 Youichi Kimura がほぼ11年前に更新
- ステータス を New(新規) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
更新履歴 7977e6467f1553eadd986e657601b600827c837e で適用されました。
#2 Youichi Kimura がほぼ11年前に更新
更新履歴 625d3853c4f45d411daafea876ec0b938e22d7a7 で適用されました。
#3 Youichi Kimura が7年以上前に更新
- 関連している Backport(バックポート) #3989: OpenPNEが設置されているURLをJavaScriptコードから取得できるようにする を追加
#6 kaoru n が7年以上前に更新
- 関連している Enhancement(機能追加・改善) #4053: OpenPNEが設置されているURLをJavaScriptコードから取得できるようにする を追加
#7 kaoru n が7年以上前に更新
- 関連している Enhancement(機能追加・改善) #4064: OpenPNE が http://example.com/sns/ のようにサブディレクトリ以下に設置されている場合に、通知センターからアクセスするURLが正しくない問題に対する opLikePlugin の独自修正を取り除く を追加