funadaが投稿した記事

PHP7.4 から PHP8.1 へのアップデートデモ

funada に投稿
作業内容

PHPのバージョンを7.4から8.1にアップデートする際、確認のため仮想環境で一度デモを行ったので、その手順をメモしておく。 大まかな作業内容は以下の通り。

  • DockerでLinux環境を構築
  • PHP7.4をインストール
  • PHP7.4をアンインストール
  • PHP8.1をインストール
調査結果

下記の手順で行った。

1. Linux環境を構築する

1.1 Dockerイメージを取得する

docker pull centos:centos7

■参考:https://www.sejuku.net/blog/86137

特定のコンテンツタイプにだけCSSを適用させる方法

funada に投稿
/* code { border-radius: 3px; padding: 0 10px !important; } pre > code .hljs-ln-n:before { display: none; } /*]]>*/

特定のコンテンツタイプにだけCSSを適用させる方法

DrupalにおいてCSSは基本的に「テーマ」の管轄ですが、テーマに手を加えることなくCSSを効かせたい……という場面もあると思います。

方法はシンプルで、hook関数を使えば簡単に実現できます。
例えば、後から作ったコンテンツタイプに専用のスタイルを適用させたい、といった場合に役立ちます。

コンテンツタイプを移行する

funada に投稿

タグ

コンテンツタイプを移行する

作成したコンテンツタイプを別の環境に移行する手順について説明します。

大まかな手順としては、各種の構成ファイルを含んだカスタムモジュールを作成し、そのモジュールを新しい環境にインストールするという流れになります。

この「構成ファイル」というのは、コンテンツタイプ名、各フィールド名、各フィールドの設定などといった情報をyml形式で表現したファイルのことです。構成ファイルは全てデータベースの「config」というテーブルに16進数に変換して保存されています。

カスタムモジュールを作成する

まず最初に適当な名前のカスタムモジュールを作成します。モジュールとしてインストール出来さえすればいいので、info.yml以外のファイルは不要です。

カスタムDrushコマンドでコンテンツを生成する

funada に投稿

タグ

カスタムDrushコマンドでコンテンツを生成する

Drushコマンドを用いてコンテンツの作成を行ってみます。
Drushコマンド作成の基本的な方法については、前回の記事「Drushのカスタムコマンドを作成する」をご覧ください。

今回は「drush_create_node」という名前でモジュールを作成します。
作成するファイルは前回と同様、下記の4種類となります。

Drushのカスタムコマンドを作成する

funada に投稿

Drushのカスタムコマンドを作成する

コマンドラインに"Hello!"と表示するだけの簡単なカスタムコマンドを作ります。

# drush hello
Hello!

まずはカスタムモジュールを作り、その中でコマンドを定義します。
今回は"drush_hello"というモジュール名にします。

作成するファイル

  • drush_hello.info.yml
  • drush.services.yml
  • composer.json
  • Hello.php

 

ディレクトリ構造は次のようにします。

Drupalモジュールでシンプルなフォームを作る

funada に投稿
/* code { border-radius: 3px; padding: 0 10px !important; } pre > code .hljs-ln-n:before { display: none; } /*]]>*/

Drupalのモジュールによってシンプルな投稿フォームを表示する

下のようなページを作ります。
名前・年齢・宗派を入力して送信ボタンを押すと、入力内容がデータベースに保存されます。

Drupal Consoleを使ったDrupalのインストール

funada に投稿

タグ

環境

  • centos7
  • apache 2.4.6
  • php 7.3.10
  • mysql5.7.28

準備

  • composerとgitをインストールする(無いとdrupal site:new実行時にエラーが出る)
    • composer
      php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
      php -r "if (hash_file('sha384', 'compo