テスト環境と本番環境でブログIDが異なるときのuser.js(MTAppjQuery)の安全な書き方
一般的にはテスト環境=本番環境のために問題は起きないのですが、以下のようなケースでブログIDがずれる場合があります。
- 本番環境に複数サイトが同居する場合
- バックアップ&リストアでブログ・サイトを移設した場合
MTAppjQueryでは一般的に現在表示中のブログIDが格納された変数(mtappVars.blog_id)を使用して ブログごとの個別の設定をuser.jsに記述します。
switch(mtappVars.blog_id) {
case x: /* ここにブログごとの処理を書く */ break;
しかし前述の通り、ブログIDが異なっているとこの書き方は使えません。 そこで以下のような記述方法を試してみました。
現在表示中のブログURLが格納された変数(mtappVars.blog_url)を使用します。
RegExpとtest関数を使うことでブログURLの後方マッチを行っています。
//処理を記載したいブログURLをドメインを除いて列挙する
var basenames = {
website: new RegExp("/sitea/$|/siteb/$"),
news: new RegExp("/news/$")
}
if ( basenames["website"].test(mtappVars.blog_url) ) { } //ブログごとの処理を書く
これが最善かは分かりませんが、同じようなことで悩まれている方の参考になれば幸いです。
もっと良い書き方があるよ!といったご意見は大歓迎です。