かたつむりくんのWWW

MTAppjQuery で記事編集画面のドラッグアンドドロップの並び替えを無効化する

disabled-sortable-min.png

MTAppjQuery を使って Movable Type の管理画面をカスタマイズする案件では、「記事編集画面のドラッグアンドドロップでの並び替えを無効化しつつ、各フィールドの枠は残したい」というニーズが頻繁にあります。

そこで今回は、user.js と user.css で実装する方法をご紹介します。

続きを読む

Craft CMS のエントリーのタイトル欄に他のフィールドの最初のN文字を自動で入れる方法

Craft CMS のエントリーではタイトル欄は必須項目として扱われますが、ユーザーがわざわざ入力せずに、他のフィールドの値を流用することができます。

今回は、タイトル`欄に他のフィールドの最初の N 文字を自動で入れる方法をご紹介します。

続きを読む

Craft CMS で作る会員制サイトでログインが切れたときにリダイレクトされる URL を変更する

Craft CMS でフロント側のサイトを {% requireLogin %} を利用して会員専用サイトにしているとき、ログインがタイムアウトすると初期設定では http://your-host/login という URL にリダイレクトされるようになっています。

このリダイレクトされる URL の変更方法をご紹介します。

続きを読む

Linux の ls コマンドで変更日降順で件数を指定して表示する

Linux の ls コマンドで変更日の降順で、新しいものから 50 件をリストアップするコマンド

ls -tl| head -50

上記の場合でディレクトリを指定する場合のコマンド

ls -tl ディレクトリパス | head -50

ls は頻繁に使うけど -t| head -50 は絶対に忘れそうなのでメモ。

Craft CMS の Element API プラグインで Super Table のデータを取得する

Element API プラグインは、Craft CMS から任意の形の JSON を取得できるようになるプラグインです。つまり、エンドポイントを自分で定義することで、好みの URL で、好きな形(項目)の JSON を取得できるようになります。

今回は、この Element API で Super Table タイプのデータを取得する方法を紹介します。

続きを読む

5 Star Comment Rating プラグイン v0.2.0 リリース

5 Star Comment Rating とは、Movable Type のコメント機能を利用して、ブログ記事に5つ星の評価を追加することができる根強い人気のプラグインです。

今回、コメント編集画面において評価の値を編集できるようにしました。

評価の編集

続きを読む

関連記事を表示する Movable Type プラグイン - SimilarEntries v1.2.0 リリース

Movable Type で記事に関連する記事をリストアップする SimilarEntries プラグインの v1.2.0 をリリースしました。

SimilarEntries は、あらかじめ出力しておいた JSON を元に、記事の任意のフィールドの値から記事の関連度(スコア)を算出し、関連度が高い順に記事を表示させることができる Movable Type のプラグインです。

今回のアップデートでは、特定のカテゴリの記事だけを判定対象にすることができるように、 SimilarEntriesRelateJSON タグに include_categories モディファイアを追加しました。

Release Released v1.2.0 · bit-part/mt-plugin-SimilarEntries

プラグインの詳細は下記をご覧ください。

bit-part/mt-plugin-SimilarEntries: 関連記事をリストアップする Movable Type プラグイン / Make a list of related entries.

MTAppjQuery と Data API proxy を組み合わせて管理画面で Data API を快適に使う

MTAppjQuery を使っていると「管理画面で Data API を使いたい」「しかもログイン認証が必要なエンドポイントを使いたい」という需要が多々あります。

そのような時は、M-Logic さんが公開している Data API proxy プラグインを一緒に使うことをおすすめします。

このプラグインを利用すると、Movable Type の管理画面にログインしていれば、そのログイン情報を利用して、Data API の認証が必要なエンドポイントを利用することができます。要するに、管理画面にログインしていれば Data API にも同時にログインしていることになるイメージです。

ここでは、MTAppjQuery と Data API proxy を組み合わせて利用する方法をご紹介します。

続きを読む

Movable Type のリスティングフレームワークのフィルタの挙動がおかしい件

Movable Type のブログ記事一覧などにはフィルタ機能があって、よく使うフィルタを登録しておくことができます。

このフィルタについてですが、時々挙動がおかしいときがあります(下図参照)。どうもプラグインでリスティングフレームワークを拡張している環境で起こるっぽいです。

filterBug.gif

デバッグしてみたところ、 list-common.tmpl にはじめに定義されている、

var filters = <mt:var name="filters">;

この部分の filters の配列の順序と、フィルタをクリックしたときに Ajax で取得しているレスポンスデータ( data とする)の data.result.filters の配列の順序が違うのが原因のようです。

続きを読む

Craft CMS で N 日以内のエントリーに NEW アイコンを付ける(日付の比較)

Craft CMS でエントリーの投稿日と今日の日付を比較し、N日以内なら NEW マークを付けるというのをやってみたいと思います。

なお、下記のお話は、 entry という変数にエントリーの情報が入っているコンテキストでのお話になります。

続きを読む

Craft CMS でログイン中のユーザーが所属するユーザーグループで処理を分岐する

Craft CMS のテンプレートの中では {{ currentUser }} にログイン中のユーザーに関する情報が取得できます。

この変数を使って、下記のようにすると、ユーザーが所属するユーザーグループごとに処理を分岐することができます。

続きを読む

Craft CMS で一部のページだけ devMode(開発モード)を有効にする方法

Craft CMS では、 craft/config/general.phpdevModetrue を設定することで、開発モードにすることができます。

開発モードにすると、Twig テンプレートでエラーが発生する場合、どこがなぜエラーなのかを詳細に知ることができるので、テンプレート開発中には必須ともいえます。

しかし、便利な半面、開発モードのままエントリーを保存したり、管理画面で設定を変更したりすると、異様に時間がかかってしまい、待ちきれずに Apache を再起動した、とういう経験が何度もあります。

続きを読む

MTAppjQuery v1.10.6 リリース - セキュリティアップデート他

MTAppjQuery v1.10.6 をリリースしました。

今回のリリースでは、MTAppjQuery プラグインの設定で ウェブサイト/ブログのJSONを利用する有効 にし 詳細モード にチェックを入れた状態で、カスタムフィールド等に <script> タグを埋め込むと、そのまま管理画面でコードが実行できる脆弱性を修正しました。

MTAppjQuery v1.10.1 以降をお使いの場合はアップデートをお願い致します。

また、 MTAppShowListEntries というメソッドで記事だけでなくウェブページのタイトルを表示させるオプションを追加しました。

ダウンロードは下記からお願い致します。

これからも MTAppjQuery をよろしくお願いいたします!

Craft CMS のアップデート方法

Craft CMS では、管理画面から簡単に最新版にアップデートすることができます。

今回はその方法をご紹介します。

続きを読む

Craft CMS で旧サイトURLを新サイトURLにリダイレクトするときにパラメータが付いてしまうのを防ぐ

MTOS で運営していた旧サイトの URL を、Craft CMS に置き換えた新サイトの URL にリダイレクトするために、下記のようなリダイレクトの設定を .htaccess に書いてみました。

Redirect permanent /blog/2017/04/000087.html http://foo.bar/blog/63

この状態で旧 URL にアクセスすると、一応リダイレクトには成功するのですが、下記のように新 URL の後ろにパラメータがついてしまいました。

http://foo.bar/blog/63?p=blog/2017/04/000087.html

これを防ぐために、下記のようにして対処しました。

続きを読む

Craft CMS で手軽にページ分割付きの検索ページを作る方法

Craft CMS では、とても簡単にキーワード検索のフォームを設置することができます。

今回はその方法をご紹介します。

続きを読む

5 Star Comment Rating プラグイン v0.1.0 リリース

5 Star Comment Rating と、Movable Type のコメント機能を利用して、ブログ記事に5つ星の評価を追加することができるプラグインです。

5 Star Comment Rating プラグイン

今回、評価に端数がある場合に半分の星が表示されるようにしました。

続きを読む

Craft CMS のリッチテキストエディタに画像やファイルのボタンが表示されないときの対処法

Craft CMS のリッチテキストエディタに画像やファイルのボタンが表示されなくて困っていました。リッチテキストエディタ Redactor の設定ファイルには下記のように設定しています。

{
  "buttons": ["format","bold","italic","lists","link","image","file","horizontalrule"],
  "plugins": ["source","fullscreen","alignment"]
}

本来であればリンクボタンの右に画像をアップロードするボタンとファイルをアップロードするボタンが表示されるはず。。。しかし下図の通り表示されていません。

craft-richtext-image01-min.png

この対処法というか原因が分かったのでシェアします。

続きを読む

MTOS から Craft CMS に JSON 形式でデータを移行する方法

MTOS に登録されている記事データを JSON 形式で Craft に移行しました。「Feed Me」という Craft プラグインを使ってとても手軽に移行できたので、その方法をご紹介します。

続きを読む

Craft CMS のリッチテキストエディタを拡張するプラグイン「Redactor Extras for Craft」を使ってみた

Craft CMS では Redactor というリッチテキストエディタが採用されており、表示するボタンなどは JSON ファイルで簡単に設定できます。

Redactor-Extras01-min.png

デフォルトのエディタにはテキストを左右に寄せるボタンが無かったので JSON に追記しようと思いましたが、残念ながら左右寄せには対応していないようでした。そこで、@BUN さんに教えていただいた Redactor Extras for Craft という Craft プラグインを使ってみることにしました。

なお、以下は Craft 2 での話になります。

続きを読む