操作
Enhancement(機能追加・改善) #3365
完了OpenPNEが設置されているURLをJavaScriptコードから取得できるようにする
開始日:
2013-06-17
期日:
進捗率:
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 を取得できるようにする。
操作