drupal

*.tpl.phpファイルの変数の値をちょっと変えたいときに、preprocess_* 関数を使う

Drupalのテーマでは、ページなりノードなりブロックなりの表示内容を変えたいときに、テンプレートファイル(*.tpl.php)をoverrideしたり、template.php ファイルの中に関数を書いてoverride することで実現できる。

*.tpl.phpファイルの変数の値をちょっと変えたいときには、*.tpl.php をoverride する方法と、template.phpファイルの中で preprocess_* 関数を使う方法がある。例えば、ノードを表示する時に $links(ノード下部に表示するリンクのリスト)に何か追加したいときがそうだ。 Read more about *.tpl.phpファイルの変数の値をちょっと変えたいときに、preprocess_* 関数を使う

zenテーマのinfoファイルにUTF-8のコードが入っているので注意

zen テーマの6.x-2.x-devをダウンロードすると、zen.info ファイルの中の settings[zen_breadcrumb_separator] (パンくずリストのセパレータ)の値としてUTF-8のコードで › (e2 80 ba)が入っている。

これのせいで .infoファイルが読み込まれないようでかなり悩んだのだが、もしやと思って、MySQLのsystemテーブルのinfoフィールドの照合順序を調べてみると、果たして ujis_japanese_ci になっていた。

これをutf8_general_ciにすることで、zen テーマの info ファイルをきちんと読み込ませることができた。 Read more about zenテーマのinfoファイルにUTF-8のコードが入っているので注意

Drupal 6.x のテーマの .info ファイルについて調べた

このサイトで使っているDrupalのテーマは、zenというカスタマイズ用のテーマのサブテーマである。Drupalでは誰かが作ったテーマをサーバからダウンロードしてきて使ってもよいし、そのようなテーマを自分で修正して使ってもよい。zenというテーマはもともとカスタマイズしてサブテーマを作成できるように作られたテーマだ。自分で作ったzen のサブテーマは親テーマであるzenのデザインを継承し、必要な箇所だけカスタマイズすることができる。

zenのバージョンは2.xを使っている。実は、1.0からバージョンをあげるとかなり内容が変わっており、めちゃくちゃになってしまっていたのだ。これはいかんと思って、ちゃんとドキュメントを読み、各ファイルの内容もチェックしたので、まとめておきたいと思う。まず、手始めは、.info ファイルだ。 Read more about Drupal 6.x のテーマの .info ファイルについて調べた

MySQLのテーブルの照合順序をUTF-8にする

コンテンツを作成するときに、英語、日本語以外の文字コードが保存されず、'?' になってしまうことに気がついた。たとえば、ṃ なんていう文字がそうだ。MySQLの文字コードはUTF-8のはずなのにおかしいな、と思って調べてみた。

結論からいうと、node_revisions というテーブルのbodyフィールドの照合順序を utf8_general_ci にすることによって正しく保存されるようになった。body フィールドの照合順序が ujis_japanese_ci になっていたのがまずかった。 Read more about MySQLのテーブルの照合順序をUTF-8にする

ページ

RSS - drupal を購読