Drupal テーマでの画像の扱い

Drupalのテーマを自作したときに画像フォルダ等の扱いがよくわからなかった。
サブディレクトリにインストールしていたため、力技でドキュメントルートに作成していたimagesフォルダを参照していたが
ディレクトリ変更をしたときに等、うまく参照できなくなるため、正しいっぽいやり方に変更することとしました。

<img src="images/btn_home.gif" alt="ホーム" />
↓
<img src="<?php echo $base_path . $directory ?>/images/btn_home.gif" alt="ホーム" />

$base_path と $directory でパスを指定することにより、テーマディレクトリを参照することが出来ます。

/テーマディレクトリ
 テーマ.info
 template.php
 templates/
css/
js/
images/

このような構成になっていると思うので画像の他にjsやcssでも利用できると思います。

Drupalの管理コマンド drushのインストール

drushはコマンドラインからDrupalの管理を行う事が出来ます。ダッシュボードからアップデートしたり、FTPすることなくコンソールからコマンドを叩くだけです。

実際にWordPressやDrupalをインストールしたり、モジュールのアップデートするときって、結局sshで入ってwgetして解凍してとかやることも多いのですが、Drupalの場合drushってのがあるよと先日Drupal Users Japan Group(仮)のmeetupで教えてもらいましたので、早速使ってみました。

インストールはpearコマンドで一発です。(Debianはapt-getでもいけるらしいです)

#pear channel-discover pear.drush.org
#pear install drush/drush

これでdrushのインストールは完了です。

Drupalがインストールされているディレクトリに移動して

$cd /var/www/drupal等/
$drush st

と実行すると

[root@ip-10-156-241-169 content]# drush st
Drupal version : 7.xx
 Site URI : http://default
 Database driver : xxxxx
 Database hostname : dbinstance.xxxxx.amazonaws
 .com
 Database username : xxxxx
 Database name : xxxxx
 Database : Connected
 Drupal bootstrap : Successful
 Drupal user : 匿名ユーザー
 Default theme : xxxxx
 Administration theme : seven
 PHP configuration : /php.ini
 Drush version : 5.7
 Drush configuration :
 Drupal root : /var/www/drupal
 Site path : sites/default
 File directory path : sites/default/files
 temp : /tmp

こんな感じで表示されればdrushはインストールされています。

モジュールやコアのアップデートをする場合は

$drush up

だけです。

drush upを走らせると、

Backups were saved into the directory [ok]

こんな感じでバックアップも取ってくれます。

アップデートの他に インストールやキャッシュのクリア等も行えるのでとても便利です。

またコンソールから実行可能なのでshファイル等で複数サイトを管理したりと利用範囲も広いかと思います。

Drupal ブロック内でPHPコードの実行

ブロックにPHPのコードを追加した場合

管理ユーザのメニューよりモジュールを選択してPHP Filterにチェックを入れます。

 

サイト構築>ブロックで新規ブロックの作成等を行うとテキストフォーマットにPHP Codeの選択しが増えます。

 

後は<?php ?>の中にPHPコードを書けばブロック内でPHPが実行されます。