Drupal での不動産掲示板
このレッスンでは、Views モジュールとその公開フィルターを使って、Drupal で 掲示板(分類広告板)を構築する 方法を紹介します。
これはチュートリアルの最初のパートで、不動産の掲示板を作成します。後で、あらゆる高度な機能を備えた車両の掲示板を構築する予定です。特定の種類の 掲示板 のレッスンを見たい場合は、フォーラムで私に書いてください――そのレッスンを作れるよう努めます。今のところは、私のチュートリアルを楽しんで、気軽にソーシャルメディアでつながってください。
Drupal node expire と auto expire 期限切れ時の広告の掲載取り下げ
私たちの Drupal 掲示板(分類広告板) の重要な機能の 1 つは、一定期間後に掲載を自動的に非公開にすることです。まず既製のモジュールを使い、後で Rules モジュールでこの機能を実装してみます。これには、Drupal 6 用に 2 つ、Drupal 7 用に 1 つのモジュールを見つけました:
- Node expire – Drupal 6
- Auto expire – Drupal 6 と 7
Drupal 6 の Node Expire
まず、Drupal 6 用の Node Expire を試しましょう:
http://drupal.org/project/node_expire
バージョン 2.06 を使います。
Node Expire モジュールをインストールして有効にします。
Drupal Global Contribution Weekend 2019 年 1 月 26、27 日
2019 年 1 月 26 日 – 10:00 – 14:00(MSK)
2019 年 1 月 27 日 – 10:00 – 14:00(MSK)
皆さん、こんにちは!私の名前は Ivan、Drupal 開発者で、Drupal についてのブログと YouTube チャンネルを運営しています:
https://drupalbook.org
https://www.youtube.com/c/IvanAbramenko
2019 年 1 月 25 日から 27 日まで、世界中で Drupal Global Contribution Weekend が開催されます:
https://groups.drupal.org/node/534537
Drupal でソーシャルネットワークを作成する
Drupal:限界に挑む
Drupal は、最良のコンテンツ管理システム(CMS)の 1 つです。実際、2008 年の Best Open Source CMS と Best PHP Open Source CMS の賞を――2 度も――受賞しました! 約 8 年の開発を経て、Drupal は利用可能な中で最も強力で多用途なフレームワークの 1 つになりました。その驚くべき柔軟性は、最大の強みであり……最大の弱みでもあります。あらゆる機能が可能です――でも、どこから始めればよいのでしょうか? 私は、さまざまなモジュール、そのユースケース、互換性、バグ、癖を調べるのに長い日々を費やし、何が機能するかを自信を持って推奨できるようになりました。特定のコミュニティ機能をどう実装したのかを尋ねる人がますます増えてきたので、すべてを一連の記事にまとめることにしました。読者は、コミュニティ主導のウェブサイトを構築するために必要なさまざまなモジュールと設定オプションを探ることになります。これは、CMS エコシステムの中でのモジュール発見とカスタマイズの旅になります。
Drupal でのソーシャルネットワーク向けサイトの事前設定
このレッスンでは、ソーシャルネットワーク 向けに Drupal を事前設定します。次のモジュールをインストールします:
- Logintoboggan
- Captcha
- Pathauto、Token、Transliteration
- Tagadelic
- Backup and Migrate
Captcha
アカウント作成に伴う小さな煩わしさは、誰もがよく知っています。Captcha モジュールを使うと、画像 CAPTCHA、数字による問題などを利用できます。追加のオプションは Captcha モジュールによって提供されます。CAPTCHA を適用するフォームの種類(登録、ログイン、お問い合わせフォームなど)や、その他さまざまな設定を選べます。
Drupal のユーザープロフィール
Drupal のプロフィールページ
プロフィールページは、あらゆるソーシャルネットワークの中で最も複雑で刺激的な部分です。この記事を読んだ後、あなたにとってもこれが魅力的な体験になることを願っています。Drupal は、ユーザープロフィールを実装するためのいくつかの選択肢を提供します。コアモジュールとして利用できる最初の選択肢は Profile モジュールです。このモジュールは、とてもシンプルなプロフィールが欲しい場合に適しています。しかし、私たちが話しているのはソーシャルネットワークです。プロフィールに画像や動画、より多くの情報を追加する機能が欲しいなら、Profile2 モジュール(Content Profile とも呼ばれます)を使います。このモジュールは主に、プロフィール情報を含むノードを作成し、それを特定のユーザーに関連付けます。
なぜユーザープロフィールが必要なのか?
始める前に、自問してみましょう――ユーザープロフィールで何を実現したいのでしょうか?
これについて私には多くのアイデアがあります。プロフィールは次のようであるべきです:
Drupal 7 のモジュール開発
チュートリアルのこのセクションでは、Drupal が単なる CMS ではないことを示します。Drupal モジュール が何で構成されているかを探り、独自のモジュールもいくつか作成します。
Drupal は急速に進化するシステムです。今日時点で、Drupal のバージョン 7 がリリースされています。ウェブサイトにさまざまな機能を追加するために、何千ものモジュールが開発されています。しかし、インターフェースでできること以上にモジュールを設定する必要があることがあります。データが表示される順序や、その見た目に不満を感じることもあります。そんなときに Drupal フレームワークがとても役立ちます。このフレームワークの機能については、次のサイトで学びます:
私たちは Drupal でモジュールを作成する ことにしました。そのために何が必要でしょうか?
Drupal 7 - PHP PDO を介した DB 操作
Drupal 7 への移行に伴い、PDO の上に構築された新しい Drupal DB 抽象化レイヤー API に移ります。PDO は、Zend のようなフレームワークや、その他多くの PHP フレームワークで長く使われてきました。しかし、Drupal 6 ではプレーンな SQL クエリを書くことがとても便利に思えました――では、なぜ新しいものが必要なのでしょうか?
まず、PDO とは何かを理解しましょう。
PDO を使うと、あるデータベースを扱う PHP コードを、大きな変更なしに別のデータベースに移植できます。たとえば、サイトが MySQL を使っていた場合、最小限の調整で PostgreSQL に切り替えられます。Oracle でまだ試したことはありませんが、そこでも動作すると期待されます。
Drupal 7 でのデータベース操作 - レッスン 1 - Drupal DB API
Drupal 6 用のモジュールを書いたことがあれば、新しい Drupal 7 Database API への移行はそれほど難しくないでしょう。新しい DB API は PHP の PDO 拡張機能に基づいており、MySQL、PostgreSQL、MSSQL、そして場合によっては Oracle など、さまざまなデータベースを扱える能力を備えています。使いやすいかどうかは主観的です――新しい構文に慣れるには時間がかかりますし、SQL クエリを書く方が多くの開発者にとってまだ馴染みがあります。
公式ドキュメントからの短い抜粋を紹介します:
Drupal 7 Database API は、データベースサーバーにアクセスするための標準的で直感的な抽象化レイヤーを提供します。この API は、SQL の構文と力をできるだけ保ちつつ、同時に次のことを実現するよう設計されました:
Drupal 7 でのデータベース操作 - レッスン 2 - データベース設定
Drupal でデータベース接続を定義する主な仕組みは、settings.php の $databases 配列です。名前が示すとおり、$databases を使うと複数のデータベース接続を定義できます。また、複数のターゲットの定義もサポートします。接続は、あるコードが初めてデータベースクエリを実行するまで開かれません(つまり接続オブジェクトは作成されません)。
接続キー
接続キーは、データベース接続に割り当てられる一意の識別子です。サイト全体で一意でなければならず、主データベースには default を設定すべきです。ほとんどのサイトでは、接続は 1 つだけになります。