logo

パレット - カラフルに🎨

Palette — ビジュアルページビルダー、デザインの専門知識は不要です。

ライブデモ パレットをダウンロード

Scroll
16/03/2021, by Ivan

これまでの記事では、Services(サービス)、Dependency Injection(依存性注入、DI)とは何か、そしてそれらを自分のController(コントローラー)とブロックでどのように使うかを説明しました:

12.15. Services(サービス)とDependency Injection。
12.15.1. コントローラーでの依存性注入(Dependency Injection)
12.15.2. ブロックでの依存性注入(Dependency Injection)

この記事では、FormBase を継承するフォームのクラスにDIを通じてサービスを追加する方法の例を示します:

14/03/2021, by Ivan

これまでの記事では、Services(サービス)、Dependency Injection(依存性注入、DI)とは何か、そしてそれらを自分のController(コントローラー)でどのように使うかを説明しました:

12.15. Services(サービス)とDependency Injection。
12.15.1. コントローラーでの依存性注入(Dependency Injection)

この記事では、ブロックのクラスにDIを通じてサービスを追加する方法の例を示します:

/modules/custom/drupalbook/src/Plugin/Block/CartBlock.php:

11/03/2021, by Ivan

前回の記事では、Dependencies Injection(依存性注入)とは何かを見てきました:

12.15. Services(サービス)とDependency Injection。

この記事では、コントローラーでのDependency Injection(依存性注入)を含むコードの例を示します。

/modules/custom/drupalbook/src/Controller/ModalFormContactController.php:

08/03/2021, by Ivan

Drupalを使っていて、カスタムモジュールでコントリビュートモジュールやコアモジュールのコードを使用する必要がある場合、hookとservices(サービス)を使用します。この記事では、すでにフックを使用しました:

12.11.3. Entity操作のためのフック。

では、サービスについて見ていきましょう。Service(サービス)はPHPオブジェクトです。そのため、カスタムモジュールで新しいPHPクラスを作成するときは、後でコードを標準的な方法で他のモジュールでも使用できるように、最初からserviceとして定義するのがよいでしょう。

Drupalはすべてのservices(サービス)をPHPオブジェクトのService Containerに集約するため、利用可能なすべてのサービスと使用中のサービスに関する情報を1つの場所に保存します。このオブジェクトを呼び出して、どのサービスが使用されているかを確認できます:

05/11/2020, by Ivan

Drupalは複雑なプラットフォームで、インストールやセットアップが難しいという意見もあります。しかし、Drupalは20年以上にわたって活発に開発されており、その間にインストールとセットアップのあらゆる方法が継続的に改善されてきました。現在では、仮想環境上でDockerを使ってDrupalをインストールできます。Landoを使って、10分でDrupalをインストールしてみましょう。

まず、Drupalが動作するWebサーバーをインストールする必要があります。しかし、個々の部品やパッケージからWebサーバーをセットアップすると10分以上かかるため、すぐに使えるソリューションを使用し、Dockerで仮想マシンを展開します。この仮想マシンは、仮想化していない通常のローカルWebサーバーと同じくらい速く動作します。

仮想環境上にWebサーバーをセットアップするには、DockerとLandoを使用する必要があります。まずDockerをインストールします。

Dockerのインストール

Dockerは公式サイトからダウンロードする必要があります:

https://www.docker.com/

03/11/2020, by Ivan

前回の記事では、Viewsモジュールをカスタムデータベースと統合する方法を「Did this help?」モジュールで説明しました:

https://www.drupal.org/project/did_this_help

この記事では、Choice(はい/いいえ)フィールドのViewsフィルターをオーバーライドします:

はい/いいえフィールド

27/10/2020, by Ivan

ViewsモジュールはDrupalエコシステムで広く使われています。コンテンツのリスト、テーブル、ブロック、スライドショー、データエクスポート - これらのコンテンツの断片は通常Viewsで表示されます。コンテンツタイプ、ブロックタイプ、その他のエンティティタイプを使用している場合は、Viewsが自動的にそれらと統合済みであり、Viewsを使用してコンテンツを表示できます。しかし、hook_schema()で作成した独自のデータベーステーブルを使用するカスタムモジュールでは、ViewsモジュールUIでモジュールのデータを表示するためにViewsとの統合を書く必要があります。

Did this helpモジュールとViewsの統合を見てみましょう:

https://www.drupal.org/project/did_this_help

モジュールはデータを保存するための独自のデータベーステーブルを作成します。このテーブルには文字列、ID、日付が含まれるため、Views統合用に異なるハンドラーを定義する必要があります:

20/05/2020, by maria
このチュートリアルは元々 Web Wash に公開されたものです。しかし、Berdir がこのチュートリアルをここに掲載してもよいか尋ねたので、ここに掲載します。

Drupal 7 のモジュールは、コード例 / スニペットをフィールドに保存できます。このモジュールには「スニペットフィールド」と呼ばれるカスタムフィールドが同梱されており、説明、ソースコード、構文ハイライトモード(どのプログラミング言語か)の3つのフォーム要素を表示します。

しかし、今こそモジュールを Drupal 8 に更新する時です。

このチュートリアルでは、Drupal 8 で「基本的な」カスタムフィールドをどのように作成したかをお見せします。PSR – 4アノテーションプラグインの詳細には踏み込みません。そうしないとチュートリアルが膨大になってしまうからです。