2chスレ版Drupal FAQ

スレに出てきた質問と回答のまとめです。Drupal全般に関するFAQについてはDrupalプロジェクトFAQも参考にしてください。

Drupal全般

Drupalって重いの?

比較的遅い、重いがMySQLではそれほど激重という感じはしない。PostgreSQLでは管理画面がなかなか開けないという話はかなり聞く。PostgreSQLに最適化されていないのだろう。

また、Drupal 6.xは5.xに比べて重くなったという人が多いです。

Drupalの検索って日本語OK?

標準のsearchモジュールで検索できます。検索できない場合はcron.phpを実行しているか確認しましょう。

一部の日本語が認識できない問題については、Searchモジュールの日本語認識についてをご覧ください。

cron.phpってなに?

これが起動させる度にゴミ箱整理したり、検索インデックスをちびちびと作っていく。検索インデックスが出来るまでは、英語だろうと日本語だろうと検索は出来ない。cron.phpの定期起動は他のモジュールでも必要なので、設定すべし。

cronによる定期起動ができないサーバ環境ならPoormanscronモジュールを導入すべし。

Drupal 5とDrupal 6ってどっちがいいの?

2009年2月の時点では、まだ5を使ってる人の方が多かったみたいです。6の方が明かに重かったり、6.xに対応していない拡張モジュールがあるようですが、6.xの方が管理は楽です。

Drupal.orgは2009年2月にDrupal 6に移行しました。Drupal 6がリリースされて2年経った2010年2月時点での調査が http://blamcast.net/articles/new-drupal-statistics で見れます。

Drupalのバージョン番号についても参考にしてください。

いつDrupal7にすればいいの?

Should you upgrade to Drupal 7?の開発コストのグラフとメンテナンスコストのグラフが興味深いです。

Drupalの吐くHTMLって汚くないですか?

かなり汚いです。drupal.orgdrupal.jpでもけっこうエラーが出てます。

テーマのnode.tpl.phpを編集する、もしくはContemplateモジュールを使用して対処しましょう。Views2の出力ならテンプレートファイルを作れば変更できます。http://views-help.doc.logrus.com/help/views/analyze-themehttp://views-help.doc.logrus.com/help/views/using-theme を参考に。

Drupalって携帯でも使える?

テーマを作れば携帯からでも見れます。http://drupal-jp.sourceforge.jp/main/node/73 ではモバイル端末からサイトにアクセスした際に専用のテーマで表示するPDA themeモジュールが配布されています。

本家でもMobileテーマなど携帯に対応させるテーマやモジュールがたくさん公開されています。drupal-module.infoのカテゴリ別ページもどうぞ。携帯対応まとめも参考にしてください。

Drupalがインストールできるレンタルサーバは?

レンタルサーバ稼働実績ページをご覧ください。

バージョン番号の規則は?

ドットは小数点ではなく、単なる区切りです。"6.9"の次は"6.10"となります。その時点での最新バージョンは http://drupal.org/ の右上の"Download"のところから確認できます(5.xと6.xのように、たいてい二系統あります)。

なんで○○の機能(モジュール)はコアに入らないの?

モジュールでできることはモジュールにさせる、コアには必要最小限しか入れないっていう方針だそうです。コアに入れてしまうとリリース間隔が長くなったり、自由度が下がったりとデメリットもあります。

詳しくはなぜ○○の機能はコアの一部じゃないのか?をどうぞ。

使い方

ブログのカテゴリわけってどうやるんですか?

標準モジュールのtaxonomyを使うのが一般的です。vocabularyは大分類で、実際のカテゴリにはtaxonomyを使います。termはtaxonomyとほぼ同義です。

全角のユーザー名で問題ないですか?

Drupalのシステム的には問題ないし、デフォルトでは何も制限されていません。目的別の「ユーザ名に全角文字を使わせないようにする」を参照してください。

コンテンツタイプの「ストーリー」と「ページ」って何がちがうの?

「ストーリー」と「ページ」は名前とデフォルトの設定が違うだけで中身は一緒です。「ページ」は「このサイトについて」とか、あまり更新しない固定ページ向けでデフォルトではコメントフォームが付いていません。「ストーリー」はプレスリリースとかアナウンスとか、ブログっぽいページ用でデフォルトでコメントフォームが付いています。

モジュールを追加すると、「ブログ」や「ブック」も使えるようになります。

○○フィルタが使えません

他のフィルタと干渉してないか、/admin/settings/filters/[filter_num]/orderでのフィルタ順序は問題ないかを確認しましょう。

フィードアグリゲーターって自動的に更新されないの?

されません。cronを設定しましょう。

taxonomyの追加を投稿画面からするには?

6.xだと設定で「タグ」(5.xだと「フリータギング」)にチェック入れれば投稿時にカンマ区切りで追加できるようになります(ただし既存のtaxonomyも選択ではなく入力する必要がある)。

Taxonomy Otherモジュールを使えば選択もできて追加もできるようになります。

記事の投稿者と時間を消すには?

テーマの設定画面(admin/build/themes/settings)から、「投稿情報の表示」を探してください。チェックを外すと投稿情報が表示されなくなります。

ユーザごとのコンテンツ一覧を表示したい

単純に一覧を出すだけでいいなら、標準モジュールのTrackerを試してみましょう。

トップページのようにノードの形で表示させたいなら、Viewsがおすすめです。Viewsを使えば特定のコンテンツタイプをユーザごとに一覧したりできます。別の方法としてAuthor Taxonomyモジュールを使ってtaxonomyのページを使うこともできます。

管理者(user/1)のプロフィールにアクセスされたくない

パスのエイリアスで user/1 --> node/403 とか適当なところに飛ばせば見れなくはなります。飛ばし先に存在しないページは登録できないので、アクセス権がありませんといったページを用意してそこに飛ばすようにすればよいでしょう。

また、Path Accessモジュールを使うと特定のページ(パス)を特定のロールでアクセス制限することができます。ロールごとに設定しなきゃいけないのが少し面倒ですが、このモジュールでも制限が可能です。

ちなみに、user/1のスーパーユーザを特別扱いしてほしいという要望はけっこうあるみたいですが、今のところそうするつもりはなさそうです(http://drupal.org/node/45871 など)。

user/1の管理者はモジュールのインストールとかupdate.phpの実行だけに絞って、記事の投稿は別ユーザを作った方がいいそうです。Best practicesのAccounts and rolesも参照してください。

確認画面を出したい

Confirm node postモジュール(日本語での説明)をどうぞ。

曜日を日本語表記にしたい

jBoxモジュールをインストールするか、自分で日本語用の日付フォーマット("Y年n月j日(D) H:i"など)を追加してください。その後、インターフェースの翻訳でMon→月、Tue→火…と登録すれば曜日に日本語が表示されます。

コンテンツの新規作成時にテンプレートを挿入したい

DefaultTextForNodeモジュールをどうぞ。コンテンツタイプごとに本文のデフォルトテキストを指定できます。

また、コンテンツタイプの設定画面(/admin/content/node-type/***)の「投稿フォームの設定」で「本文フィールドのラベル」を空欄にし、本文をフィールドで作ってしまう方法があります。これでデフォルトの文章を入力しておけます。

他に、Node cloneモジュールを利用する方法や、FCKエディターのプラグイン処理で空欄だったらテンプレートを最初に読み込むように設定する方法もあるそうです。

サイトオフラインのテーマを変えたい

settings.phpに$conf['maintenance_theme']を加えて、対象のテーマにmaintenance-page.tpl.phpとmaintenance-page-offline.tpl.phpを作ります。詳細は http://drupal.org/node/195435 をどうぞ。

モジュール

○○するためのモジュールはある?

まずは目的別Drupalモジュールをどうぞ。

モジュールを探すなら http://drupalmodules.com/ 、日本語ならDrupalモジュール情報共有サイトが便利です。

人気のモジュールを知りたい

まずは重要モジュール一覧をご覧ください。

drupal.orgのProject usage overviewで全モジュールのダウンロード数を見ることができます。また、drupalmodules.comのTop RatedMost Favoritedでも人気のモジュールを知ることができます。

また、Drupalの商用パッケージであるAcquiaに導入されているモジュール(Acquiaのページ)も参考になります。

拡張モジュールはどこにインストールするの?

ダウンロードしたファイルをsites/all/modules以下に展開します。コアモジュールの入っているmodules以下に直接入れても動きますが、アップグレードが面倒になります。詳しくは http://drupal.org/node/70151拡張モジュールのインストール方法を見てください。

開発

コアの機能を変えたいときはコアのファイルをいじっていいの?

普通はコアのファイルを直接いじったりはしない。コアの動作を変えたければhookとテーマでほとんど上書きできる。コアの動作を上書きする拡張モジュールがたくさん公開されているので、hookの使い方の参考に調べてみましょう。

モジュール開発者ガイドの「コアをハックしない」やプロジェクトFAQの「サイトを少し変更したいです」も参考にどうぞ。

5.xのモジュールを6.xに対応させるには?

5.xの作り方を知っているなら、こちらをどうぞ。メニューシステムとかフォーム関連が大幅に変わっています。Deadwoodを使えば半分くらいは自動変換してくれるらしいです。

なお、『Pro Drupal Development』(洋書)のFirst Editionは5.xが対象なので、6.x用に開発するならSecond Editionを買い直した方がいいです。とりあえず、ソースだけでもダウンロードしてみましょう。

モジュールやテーマを7.xに対応させるには?

Converting 6.x modules to 7.x | drupal.orgConverting 6.x themes to 7.xにまとめられています。

独自のノードタイプを作るとき参考になるのは?

Guestbookとか。あんま内部API使ってなくて構造が単純、コード量少ない。欠点はCSSやjQueryが組み込まれてないこと。

標準のstoryモジュールとかapi.drupal.orgのnode_exampleも参考になるよ。

○○(ノードとかタクソノミーとかユーザの属性)を表示させたいのですが

とりあえずDevelモジュールを入れましょう。分かりやすく変数をダンプしてくれるし、DBのクエリも表示してくれます。

開発の参考になるページは?

ちょっと古いですが http://drupal-jbox.net/?q=node/31 をどうぞ。

http://api.drupal.org/ は関数一覧だけじゃなくてExample modulesとかIn-depth discussionsもおすすめです。モジュール開発者ガイドもどうぞ。

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2010年11月20日 20:54