かたつむりくんのWWW

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

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 プラグイン

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

続きを読む