気づいたら、ここだった

考えているようで、考えなしに生きてるので、気づいたらこんなことになてってた私のブログ

それ、a-blog cms で(ry

昨日の記事で jsファイルをWEBサーバに上げればいいよと書いていましたが、それ a-blog cms でできるよ!

a-blog cms はワンユーザーなら商用でも無償使えるライセンスがあるので、社内なら・・・あれ?どうなのかな?(汗)

と、とりあえず a-blog cms でやってみる方法を書いておきます!

おさらい

1. パスワードをスタッフに教えないで、ブックマークレットを使わせる。
2. ブックマークレットはWEBサーバーに置いておく <ココをCMSに!

a-blog cms で管理するぞ!

カテゴリを作る

まず、ブックマークレット用のカテゴリを作るよ
f:id:nisyu:20131215092254p:plain

ここでは bmlet というコードでカテゴリを作ったけど、お好みで。
(別のコードにしたら、以下読み替えてね)

ちなみに、社内で別の用途にも使っているなら「インデキシング」のところはチェックを外しておこう。

カテゴリ専用のカスタムフィールドを作ろう

テーマディレクトリの中にある

/admin/entry/field.html

を書き換えます。(なければ作る!)

<!--#include file="/admin/entry/category_%{CCD}.html" -->

この一行を書き加えて category_bmlet.html というファイルを作ります。
これで、このファイルにカスタムフィールドを作れば、bmletカテゴリ専用のカスタムフィールドができあがり。
今回はこんな感じかな

<table class="entryFormTable acms-table-entry">
  <tr>
    <th>ブックマークレット</th>
    <td>
      <textarea name="bmltext">{bmltext}</textarea>
      <input type="hidden" name="field[]" value="bmltext" />
    </td>
  </tr>
</table>

この場合bmltextって名前のカスタムフィールドを追加したよ。

表示用のテンプレートを用意しよう

テーマディレクトリの中に、このカテゴリコードのディレクトリを作って、そこにテンプレートを入れよう。
適当な名前でいいけど、bmlet.js とか、jsだってわかる名前がいいかな。

そのファイルはこんな内容。

<!-- BEGIN_MODULE Entry_Body -->
<!-- BEGIN entry:loop -->
{bmltext}[raw]
<!-- END entry:loop -->
<!-- END_MODULE Entry_Body -->

単にbmltextを表示するだけね。

これで準備は完了!

作ってみる

さっき作ったカテゴリにアクセスして

http://server_name/bmlet/

「エントリ作成」・・・すると、先ほど作ったカスタムフィールドが出てくるはずなのでそこにjs本体を書き込む!
f:id:nisyu:20131215095554p:plain
これで

http://server_name/bmlet/entry-hoge.html/tpl/bmlet/bmlet.js

のようなURLでアクセスしたら、jsが取り出せるよ!

これでエントリを作成〜編集というCMSの操作だけでブックマークレットの管理ができるようになった!