かたつむりくんのWWW

Craft CMS でフィールドに入力された URL が http で始まるときだけ別ウィンドウで開きたい

やりたいことはタイトルのままです。例えば、フィールドのハンドルが linkUrl だったとします( urllink は予約語となっていて使えません)。

このフィールドに入力された値が http で始まる場合だけ target="_blank" をつけたいとします。そうしておけば、内部リンクは相対パスで、外部リンクは絶対URLで入力するという運用ができますよね。

この条件分岐をしたい場合は、Twig の Comparisons(比較演算子)の中の matches を利用します。

<a href="{{ entry.linkUrl }}"{% if entry.linkUrl matches '/^http/' %} target="_blank"{% endif %}>
  {{ entry.linkText }}
</a>

matches を知っておくといろいろ便利になると思います。

That's all!

以上です。

Craft CMS の管理画面の画像フィールドのサムネイルを大きくするカスタマイズ

Craft CMS の画像フィールドのサムネイル、少し小さくないですか?

thumbnail-customize-min.png

画像はまだしも、ラベルがほとんど欠けていて見にくいですよね。

ということで、管理画面をカスタマイズしてみましょう。

続きを読む

MTAppjQuery v2.0.0 リリース - Movable Type 7 対応版

大変お待たせしました。先週、ようやく Movable Type 7 に対応した MTAppjQuery v2.0.0 をリリースしました。Movable Type 7 で管理画面がかなり変わったので、アップデート大変でした・・・!

今回のリリースでは、これまでのメソッドを残しつつ、新たに Vue.js をベースにした mtapp.multiField() というメソッドを加えたりしております。ぜひぜひ、MT 7 と共にみなさまのお役に立てれば幸いです。

現在、ドキュメントサイトを刷新していますので、そちらも急ぎます。

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

Craft CMS でアップロードできるファイルサイズの最大値を変更する

Craft 3 の Assets に動画をアップロードしようとしたところ、 16MBを超えているのでアップロードできませんよ〜 という警告が表示されてしまいました。

この案件で利用しているサーバーはエックスサーバーで、サーバーパネルの php.ini の設定を見たところ、 30M に設定されていました。はてさて、どうしたものかと調べて見ると、Craft CMS 自体のファイルアップロードの上限が 16MB に設定されていました。

したがって、Craft CMS でファイルアップロードの上限値を変更するには、

  1. php.ini を確認
  2. Craft の config/general.phpmaxUploadFileSize を設定

という流れになります。今回は、ドキュメントページのサンプルにある通り下記のように設定しました。

'maxUploadFileSize' => 33554432,

以上です。

MTAppjQuery v1.11.2 リリース - MTAppJSONTable のバグフィックス

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

今回のリリースでは、MTAppJSONTablecellMerge オプションを利用した際にテーブルが崩れるバグを修正しました。

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

余談ですが、現在 Movable Type 7 に対応した MTAppjQuery 2 を開発中です。

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

Craft 3 の動作環境を満たしているかをチェックするスクリプトが便利

先月リリースされた Craft 3 を利用するためのサーバーの必須環境を簡単にチェックするスクリプトが、Craft CMS の開発元より公開されています。

これがとても便利なので簡単にご紹介します。

続きを読む

Craft CMS( Twig )で動的なキーと値で連想配列を作成する

今回は Craft CMS( Twig )で動的なキーと値で連想配列を作成する方法をご紹介します。Craft CMS を例にしていますが、Twig 全般のお話です。

前回の記事 に引き続き、Craft CMS で下記のような設定のドロップダウンフィールドを作成したとします。フィールドのハンドルは player です。

ドロップダウンの設定

これの設定を元にして、ドロップダウンの値を キー 、ドロップダウンのラベルを にした連想配列を動的に作る方法をご紹介します。作成したい連想配列の形は下記のような形です。

{
    'baggio': 'ロベルト・バッジョ',
    'cruyff': 'ヨハン・クライフ',
    'zico':   'ジーコ'
}

続きを読む

Craft CMS でドロップダウンフィールドの設定を利用してフロント側で select 要素を書き出す

Craft CMS で下記のような設定のドロップダウンフィールドを作成したとします。フィールドのハンドルは player です。

ドロップダウンの設定

これを元にして、公開側で select を書き出す方法をご紹介します。検索フォームを作るときなどに便利だと思います。

続きを読む

Craft CMS で月別アーカイブを実装する

今回は Craft CMS で、2017 年 12 月の記事一覧ページを、 /blog/2018/12 という URL で表示したいとします。

Rooting の設定

Dynamic Routes を参考に Rooting を設定します。リンク先にも書いてありますが、ここでの設定は / スラッシュで始まらないようにしましょう。

続きを読む

Craft CMS ですべてのエントリーを取得したり動的なキーの連想配列を作ったり数を出力したりする Tips

この記事は「Craft CMS Advent Calendar 2017」の 14 日目の記事です。今日は Craft CMS の基本的なお話になります。

Craft CMS でエントリーの情報を取得するとき、例えばセクションのハンドル名が blog だったとすると、下記のように取得できます。

{% set blogs = craft.entries.section('blog') %}

続きを読む

絶対役立つ 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 の変更方法をご紹介します。

続きを読む