かたつむりくんのWWW

絶対役立つ Craft CMS のプラグイン 12 選

この記事は「Craft CMS Advent Calendar 2017」の12日目の記事です。

今年はいくつかの案件で Craft CMS を使ってサイトを作りました。その際に利用した便利なプラグインをご紹介します。

なお、下記のプラグインは Craft CMS 2 を前提にしています。これらのうち、すでに Craft 3 への対応も始まっているプラグインもありますので、Craft 3 で利用したい場合は調べてみるといいでしょう。

続きを読む

管理画面でもMTタグを入力補完できる Alfred Snippets を作りました

こんにちは。この記事は「 Movable Type Advent Calendar 2017 - Adventar 」の 6 日目の記事です。Movable Type のアドベントカレンダーで 6 年連続で 12 月 6 日に書かせていただいております。Movable Type 7 の Developer Preview 版の公開からもうすぐ2ヶ月。時が経つのは本当に早いですね。

MTML Snippets

さて、bit part では、MTMLのタグを補完するツールをいくつか公開していますが、それらは IntelliJ IDEA や ATOM など、何かしらのエディタのプラグインでした。でも実際に Movable Type でサイトを運用していると、管理画面で直接テンプレートを編集したいというケースも意外と多くありませんか?

今年はそんなあなたにクリスマスプレゼントを。Alfred の Power Pack で利用できる Alfred Snippets を作りました。Alfred Snippets なのでアプリを問わず、いつでもどこでも MT タグの入力を支援してくれます!Mac ユーザー限定のプレゼントですみません。。。

続きを読む

Twig の block を条件分岐して出力するとき、書き方によってエラーになる(Craft CMS)

この記事は「Craft CMS Advent Calendar 2017」の6日目の記事です。Craft CMS というより Twig のお話になりますが

Twig で block を出力する方法は下記のように2種類あります。

{% block content %}{% endblock %}
{{ block('content') }}

全く同じ意味だと思いがちですが、テンプレートの書き方によってはエラーになってしまいます。 Craft CMS のテンプレートを書いているときにも陥る可能性が高い落とし穴ですのでご紹介します。

続きを読む

Craft CMS に独自の翻訳ファイルを適用する

この記事は「Craft CMS Advent Calendar 2017」の5日目の記事です。

Craft CMS は最初から日本語にも対応していますが、別の翻訳の方がクライアントに分かりやすい場合もあります。

例えば、下記の画像にある「有効期限の日付」。

craft-translation-00-min.png

これは個人的には「公開終了日」の方が分かりやすい気がします。そのような場合は、独自の翻訳ファイルを用意して本体の翻訳を上書きすることができます。

続きを読む

Craft CMS の Element API で search パラメータで検索できるようにする

Craft CMS では、自分で自由にエンドポイントを実装できる Element API というプラグインがあります。Twig のテンプレートで JSON を書き出すようにして、擬似的に API を実装することもできますが、こちらの Element API を使った方が楽に実装できるのでおすすめです。

さて、今回は、この Element API で search=foo のようなパラメータを付けて検索して結果を絞り込む方法をご紹介します。

続きを読む

Craft CMS のエントリー一覧の検索を単語の途中でも一致するようにする

Craft CMS のエントリー一覧の上にあるキーワード検索は、入力しながらサクッと候補が絞り込まれる ほぼ インクリメンタルサーチなので便利です。しかし、デフォルトの挙動だと、単語の途中ではヒットしません。

つまり、例えば tinybeans.net というのを探しているとして、 tiny まで入力しただけではヒットせず、 tinybeans まで入力しないとヒットしません。これって、スペルが tinybeans と分かっていれば問題ありませんが、 tinybeens とか tinnybearns とか記憶が曖昧だった場合は、とても探しにくいですよね。

続きを読む

CentOS 6 に Craft 3 をインストール

最近、日本でも話題になってきている Craft CMS。 その最新版の「Craft 3」のインストールのインストール方法をご紹介します。

続きを読む

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 をよろしくお願いいたします!