Drupal

Drupal は、ウェブ 2.0 時代のフレームワークだ。

Drupal とは何だろう? Drupal のコミュニティでコンセンサスが得られているものとしては、

    <li>コンテンツ管理システム(CMS)</li>
    <li>ウェブアプリケーションフレームワーク</li>
    <li>コミュニティ</li>
    

である。 最初の CMS については、疑いない。Drupal の入り口としては、私も Movable Type の再構築に辟易し、ブログの置き換えを狙っていた。要は簡単にサイトが作れるというものである。

続きを読む

Drupal で、モジュールやテーマのあるディレクトリ名(パス名)を取得する方法(drupal_get_path)

こんな感じ。'module' とあるところは 'theme' にするとテーマのあるディレクトリ名を調べることができる。より一般化すると drupal_get_path($type, $name) という関数なのだが、$type には 'module'、'theme'、'theme_engine' などが入る。英語での複数の「s」は、この関数の中でこっそり付与されているので必要ない。この $type は、system テーブルの type フィールドにあるもの。 <?php $module_dir = drupal_get_path('module', 'your_module_name'); ?> <?php
続きを読む

Drupal で、カウンタを作ってみた。

なぜか Drupal にありそうでないのがカウンタ。いまどきカウンタなんて・・・などという声が聞こえてきそうだが、Google Analytics でアクセスログ取っていてもカウンタは欲しかったんですよ。自分のブログ継続モチベーション維持のために(苦笑)。なさそうなのでなので作ってみた。
続きを読む

Drupal で、パーマリンク(Permalink)を扱うには?

以下のコードを、利用するテーマのフォルダの中にある template.php の _phptemplate_variables 関数のところに付け加える。 if {~} の 3行である。戻り値は return array()。 もし template.php の中に _phptemplate_variables 関数がなかったら、単純にこの _phptemplate_variable 関数を最後に加えればよい。
続きを読む

Drupal で、コメントへのリンクを付けるには?

フロントページ以外でコメントへのリンクを付けるには、以下のコードを node.tpl.php に埋め込む。こうすると、コメントがないエントリーの場合は、ログイン(登録)してコメントを投稿というリンクが表示されるのだ。 <?php if (!$is_front): // フロントページでなければ ?>
<?php print theme_links(comment_link('node', $node)); // コメント機能へのリンクを表示 ?>
<?php endif; ?>
続きを読む

Drupal で、すべてのエントリーの数を数える、カウントする。

たとえば「公開しているすべてのブログエントリーの数」を数えるのには、以下のように SQL 文を発行する(このサイトのカテゴリブロックで実際に使っているもの)。 <?php $count = db_result(db_query("SELECT COUNT(*) FROM {node} WHERE type = 'blog' and status = '1'")); print ''; ?>
続きを読む

Drupal で、サイトを削除する方法

Drupal でサイトを根こそぎ削除するには、データベース中の該当するテーブル群を削除すればよい。基本的にデータベース中に Drupal サイトが1つしか入っていない場合は、データベースごと削除してしまえばいいのだが、サブドメインごとに複数のサイトを 1つの Drupal 用データベースに入れている場合(そういうことが Drupal ではできる)、コアが使うテーブルに関してどのテーブルを削除すればいいのか判断に迷うときがある。よって、外部(サードパーティ)のモジュールをインストールしているケースが多いと思われるため、コアのテーブルはどれだったのかきちんと把握しておく必要がある。

そこで以下にコアのテーブルを削除する SQL 文を挙げてみた。

続きを読む
Drupal を購読