プロジェクト

全般

プロフィール

Backport(バックポート) #3989

OpenPNEが設置されているURLをJavaScriptコードから取得できるようにする

Youichi Kimura7年以上前に追加. 7年以上前に更新.

ステータス:
Fixed(完了)
優先度:
Normal(通常)
担当者:
対象バージョン:
開始日:
2013-06-17
期日:
進捗率:

100%


説明

概要

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 コードに依存してしまうという問題が存在する。

参考: https://github.com/tejimaya/opTimelinePlugin/blob/master/apps/pc_frontend/modules/timeline/templates/_timelineTemplate.php#L23

仕様

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 を取得できるようにする。


関連するチケット

関連している OpenPNE 3 - Enhancement(機能追加・改善) #3365: OpenPNEが設置されているURLをJavaScriptコードから取得できるようにする Won't fix(対応せず) 2013-06-17

関係しているリビジョン

リビジョン ea7f2db0 (差分)
Youichi Kimura7年以上前に追加

add openpne.baseUrl for client-side rendering (fixes #3989, BP from #3365)

(cherry picked from commit 7977e6467f1553eadd986e657601b600827c837e)

リビジョン 2fd30b22 (差分)
Youichi Kimura7年以上前に追加

add openpne.baseUrl in smartphone layout for client-side rendering (fixes #3989, BP from #3365)

(cherry picked from commit 625d3853c4f45d411daafea876ec0b938e22d7a7)

リビジョン 1ce8278c
kaoru n7年以上前に追加

Merge pull request #353 from upsilon/t-3989

add openpne.baseUrl for client-side rendering (fixes #3989, BP from #3365)

履歴

#1 Youichi Kimura7年以上前に更新

#2 Youichi Kimura7年以上前に更新

  • ステータスNew(新規) から Pending Review(レビュー待ち) に変更
  • 進捗率0 から 50 に変更

下記 Pull Request を作成しました
https://github.com/openpne/OpenPNE3/pull/353

#3 kaoru n7年以上前に更新

  • ステータスPending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
  • 進捗率50 から 70 に変更

レビューしました

#4 isao sano7年以上前に更新

  • ステータスPending Testing(テスト待ち) から Pending Merge(マージ待ち) に変更
  • 進捗率70 から 80 に変更

単体試験完了しました。
問題ありません。

#5 kaoru n7年以上前に更新

  • ステータスPending Merge(マージ待ち) から Fixed(完了) に変更
  • 進捗率80 から 100 に変更

マージしました

他の形式にエクスポート: Atom PDF