MTAppjQueryでuser.jsの書き場所あれこれ

MTAppjQuery をつかってカスタマイズする場合、user.jsに設定を書いてカスタマイズすることになります。
使い方などのサポートをしていると皆さん色々な書き方をされているなー、という印象です。

ざっと思いつく書く場所としては以下のような書き方があります。

  • Defaultのuser.jsに記述する
  • インデックステンプレートをインストールして記述する
  • プラグイン設定に直接記述する
  • テンプレートモジュールに記述してプラグイン設定でmt:Includeする
  • インデックステンプレートなり静的ファイルなりで置いておいてuser.jsの場所を指定する

それぞれ見てみます。

Defaultのuser.jsに記述する

もともとはmt-staticにあるuser.jsをカスタマイズする、という使い方でした。
ここによく使う設定をかいて入れておけばどの環境でも同様の設定を反映できるので、そういった使い方では便利かな、と思います。

インデックステンプレートをインストールして記述する

わざわざmt-staticのファイルを開いて編集してアップロードするのは面倒というのがあって、管理画面でuser.jsをインデックステンプレートとしてインストールして、それを使うこともできます。

個人的にはこの使い方が一番多いです。
それぞれのウェブサイト/ブログでインストールすればそれぞれで設定ができるので使いやすいと思います。

ファイルの出力場所をカスタマイズすれば、前述のdefaultのuser.jsを管理画面でカスタマイズすることも出来ます。

前述の方法もこの方法も設定ファイルが見える場所にあるというのが、良い場合とNGな場合があるかも知れません。
別ファイルを読み込んでいる分、jsの処理をHTMLに直書きするよりは良い気がします。

プラグイン設定に直接記述する

みていると結構多いのがこの書き方ですね。

プラグイン設定で管理画面のheadやbodyの閉じタグ前のいくつかの場所に書いた内容を反映させることが出来ます。
入力欄が狭くてやりにくそうだなー、とか思っていたりしますがここにscriptを直接書かれている場合も多いようです。

MTAppjQueryというよりも、jsの書き方を間違ってしまってjsエラー!とかいう時はプラグイン設定が開かなくなるとかありますので、そういうときはconsoleでプラグイン設定部分に書いたコードを編集するなどして直す必要があります。

前述最初の2つの様にどこかに実ファイルがある場合はそれを編集すれば解決出来る話でもあります。

テンプレートモジュールに記述してプラグイン設定でmt:Includeする

前述のプラグイン設定に書くのと大体おなじですが、テンプレートモジュールに書いておいて管理する方法です。

テンプレート類をテーマで管理してGitとかでバージョン管理している場合とかはこの方法だと管理しやすいかも知れませんね。
(プラグイン設定に書いてある内容を、別途Git管理すればいい、という話でもありますが)

システム全体とかで設定すると、ウェブサイト全体とか色々調整ができます。

MTAppjQuery でのカスタマイズをウェブサイト内のブログにまとめて適用させる方法 | かたつむりくんのWWW   http://www.tinybeans.net/blog/2014/09/12-100859.html

インデックステンプレートなり静的ファイルなりで置いておいてuser.jsの場所を指定する

SSL環境だったりすると、HTTPのファイルを読み込めないとかがあったりするので、user.jsの場所を指定してHTTPS以下においたファイルを読むようにしたりする場合があります。
そういうときに使う方法ですね。

プラグイン設定に書く方法はSSLとか余り気にしなくてもよいですが、実ファイルとして持たせておく場合は環境によっては上記の方法でuser.jsの場所を指定しないといけない場合があると思います。

MTクラウドなど管理画面がSSL環境の場合は気を付けた方が良い場合があります。

管理画面がhttpsの場合にMTAppjQueryを使う方法 | bit part blog
http://bit-part.net/blog/2013/10/httpsmtappjquery.html

メリットあり・デメリットあり

いろいろな書き方ができるのはメリットでもあり、わかりにくいというデメリットでもあるなぁと思うことがあります。
ベストプラクティスとして推奨するのか、方法を限定するのか、このままでいいのか、時々考えます。

管理画面サイドバーにある、user.jsに追記、user.jsを編集などもどの程度つかわれているのか?なども考えものです。

多機能になりすぎて使いにくい、といったことにならないように意識していきたいと思います。


Comments

comments powered by Disqus