Drupal8でのマルチサイト構築方法
drupalではマルチサイトを構築することができる。
今回は構築方法を紹介する。
前提条件
- drupalが
/var/www/html/drupal
にインストールされていること
ドメイン
- 最初にインストールしたdrupalのサイトのドメインを
stg.drupal.jp
,構築するサイトのドメインをprd.drupal.jp
とする。
手順
sitesフォルダの下に構築するdrupal用のディレクトリを作成する
drupalではマルチサイトを構築することができる。
今回は構築方法を紹介する。
/var/www/html/drupal
にインストールされていることstg.drupal.jp
,構築するサイトのドメインをprd.drupal.jp
とする。sitesフォルダの下に構築するdrupal用のディレクトリを作成する
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'compo
2019/8/5 追記:hook_post_update_NAME()ではなく、hook_update_N()を使用するように変更しました。
使用しているカスタムモジュールに機能追加した場合、使用しているDBテーブルの定義を変更する必要が出てきたりします。
Drupalでは「モジュールのアップデート」でDB定義を変更することができるようなので、その方法を試してみます。
Drupal8のsimpletestでテストケースをどう書くのかを紹介する日本語の記事が少ないし、最近関わる仕事はDrupal8のテスト関連なので、そこで積もった経験や知識を初心者向けに数回分けて紹介する。
本文は第一弾。
本文の実行環境は以下の通り。
Drupal8をコマンドで操作できるツールDrupal Consoleをインストールする。
HTMLで一般的な<textarea>を用いますと、
$form['event_info'] = [ '#type' => 'textarea', '#name' => 'イベントの内容', '#title' => 'イベントの内容', ];
とりあえずテキストエディタを表示させ、ユーザーに編集させることができます。
Nodeクラスのcreateメソッドを使えば、任意のコンテンツタイプからなるコンテンツを作り出せます。
Drupalは、主に大規模開発を得意とするCMS(コンテンツマネジメントシステム)です。ソースコードはPHPで書かれており、ApacheやNgnixなどの(PHPが動作する)Webサーバー上で動作されるのが一般的です。
そこで、Drupal8をインストールする方法についてまとめてみました。
(※ソフトウェアは、断りがない限り、2018/08/31現在の最新バージョンを使用します)
別にPDOでアクセスしても文法上は問題ないのですが、Drupalが使用しているデータベースに情報を読み書きする場合は、より簡単にデータベース処理を書くことができます。なので、その詳細についてまとめました。
// Drushを使用している場合
$ drush dl devel
$ drush en kint
// Drupal Consoleを使用している場合
$ drupal module:download devel --latest
$ drupal module:install kint
kint
関数やksm
関数を使用する// PHPコードの場合
kint($変数名); //ページの上方に表示
ksm($変数名); //ページのメッセージ欄に表示
// Twigテンプレートの場合
{{ kint(
フォーム要素として、以下のように記載した場合
$form['member'] = [
'#type' => 'entity_autocomplete',
'#target_type' => 'user',
];
実際に表示されるentity_autocompleteフィールドでは、ユーザアカウント名によって検索が行われる。