作業のゴール
Drupal のカスタムデザインテーマを作り、サイトに適用する。
Drupal では、Twig (PHPテンプレート) を使って好みのテーマでページを表示できる。
今回は、そのテーマの最初の設定を新しい仕組み(Starterkit)を使って構築する。
構築後、Twigや修正したCSSを適用することで、テーマ開発ができるようになる。
補足
今回テーマ開発に使う Starterkit の仕組みは比較的新しいDrupalのテーマ開発の仕組み。
Drupalのテーマでは、テーマの継承・親子関係があり、
Base themeを指定して、Sub-theme側をカスタマイズするのが基本のよう。
Starterkitでは、こうした継承元のテーマも含めて最初にまるっとコピーされるような形になる。
作業の概要
- Starterkit でテーマを構築する
- Drupalサイトでテーマを有効化する
作業
Starterkit
Starterkitを使って新しいテーマを生成する
作業
- ドキュメントルート(web, docrootなど)に行く
- phpスクリプトを実行する
- テーマの名前を決めておく(今回は wireframe という名前に)
$ cd path/to/docroot
$ php core/scripts/drupal generate-theme wireframe
補足
このscriptを実行すると、 web/themes 配下にテーマのファイル一式ができる。
最低限必要な (themename).info.yml や、ダミーのロゴ画像などができる。
この info.yml がテーマの情報が書かれた大事なファイル。
テーマの名前や、ライブラリ(CSS/JS)、Drupal上で表示されるDescriptionなどが書かれる。
詳細はDrupal.orgの記事を参考に。
参考記事
Defining a theme with an .info.yml file
https://www.drupal.org/docs/develop/theming-drupal/defining-a-theme-with-an-infoyml-file
テーマをインストールする
Drupalサイトにログインし、カスタムテーマをインストールする
作業
- Drupal管理画面にログインし、"テーマ" の設定画面を開く。
- インストール or インストールしてデフォルトに設定
- キャッシュクリア
補足
info.yml ができているので、テーマの管理ページを開くと
すでにカスタムテーマが表示されているはず。
info.ymlの通り、Stark をベースにカスタムテーマができているので、
隣のStarkと同じサムネが出ている。
インストール にすると、サイトにインストールされるだけでまだ表示は変わらない。
インストールしてデフォルトに設定とすると、サイトの表示も切り替わる。
今更だが、Drupalのテーマには2種類ある。
1)テーマ
→ サイトの表示に使われるテーマ
→ 通常想像するのはこっちの方
2)管理用テーマ
→ 管理画面(ログインしてコンテンツの編集などを行う方)のテーマ
→ デフォルトではClaroが選ばれている
→ 管理用テーマも、テーマの管理画面で設定できる(ページ末尾)
デフォルトに設定し、キャッシュを消すことでページが閲覧できる。
ちなみにキャッシュの削除は、
$ lando drush cr
で行う(lando を使っていて、drushコマンドが入っている場合)
完成
参考記事
- Starterkit theme | Core themes | Drupal Wiki guide on Drupal.org
- Drupal のテーマを .info.ymlファイルで定義する | Drupalのテーマ開発は技術力のANNAI
- Drupal テーマ開発入門講座 | アクイアジャパン Acquia Japan | YouTube
- https://www.youtube.com/playlist?list=PLVkpj3GMKNm0HUyMnEShXZz2374dpVfH-
- https://www.youtube.com/playlist?list=PLVkpj3GMKNm0HUyMnEShXZz2374dpVfH-