メインコンテンツに移動

メインナビゲーション

  • ホーム
  • サイトマップ
  • ビデオ
  • ご連絡

パンくず

  • ホーム
  • Drupal8のテーマ/子テーマにあるcss定義の優先順位調整設定方法

Drupal8のテーマ/子テーマにあるcss定義の優先順位調整設定方法

drupal
module
theme

Drupalの子テーマを作成して親テーマをカスタマイズする

  • 通常親テーマのコード、定義を変更しないほうが良いでしょう。なぜならば、親テーマが将来バージョンアップの可能性があり、コードを触ると、バージョンアップ作業が難しくなります
  • Drupalでは、子テーマを定義して、親テーマをカスタマイズする方法があります
    • 「Drupal8のテーマ(theme)の構造及びディレクトリの整理 」をご参考
    • 一番良いところは、親テーマのコード、定義を触らなくて、レイアウト、cssの変更が可能です
  • 当然、子テーマで定義したレイアウト、cssの定義を優先に読み込ませる必要があります。そうでなければ、子テーマのcss定義は反映されなくなります

Drupal8では子テーマの定義ファイル(xxx‗info.yml)でcssファイルの重みより親テーマのcssをオーバーライドする

  • 子テーマの定義ファイル([child_theme_name]_info.yml)で独自のcssファイルを定義します
    • 例:themes/child_theme_name/css/style.css
    • font-family: 独自のものを設定します
        css:
          component:
            css/style.css   //このファイルで、スタイルを定義

       

  • 初期では、親テーマにある定義(例:w3.css)で設定されたスタイルが優先的に読み込んで、子テーマに設定されたcss定義が反映されていない
  • 上記定義で、スタイルファイルを読み込む重みを設定するより、子テーマのcss定義を反映させます
      css:
        component:
          css/style.css: {weight:2000} //ファイル読み込み重みをつける

    子テーマの設定ファイルでcss定義の優先順位設定

drupal
drupal

Durupl8ではテーマは単独のディレクトリで管理

  • Drupal8のテーマ(theme)がモジュールのインストール/アンインストール(機能拡張)の部分でインストールすることができます
    • 「テーマ」管理画面でも「新しいテーマのインストール」ボタンをクリックして、インストールすることがもできます
  • 通常モジュールのフォルダー(drupal8/modules)と違って、単独のフォルダー(drupak8/theme)で管理しています
    Drupal8はモジュール/テーマは別フォルダー

インストールしたテーマ(theme)にカスタマイズのため、サブテーマ(sub-theme)の作成ができます

  • いろいろテーマをインストールすることができます
  • インストールしたテーマの一部分をカスタマイズをしたいことがよくあります
    • 例:個別の詳細をcssで定義して、cssファイルをテーマに追加したい
  • Drupalでは複数のサブテーマ(sub-theme)を作成することができます
  • 複数のサブテーマを並列/直列して親テーマに継承することができます
    Drupalの複数のサブテーマを直列/並列で
  • 子テーマが親テーマの要素を継承します
    • 子テーマで各要素の再定義、追加などができます

テーマ/サーブテーマのディレクトの集約ができます

  • 初期のテーマディレクトリにインストールした複数のテーマが入っています
  • サブディレクトもテーマディレクト(drupal8/theme)に作成して保管しています
  • 複数のテーマをインストールして、複数のサブテーマを作成したら、フォルダー数が多くなり、どっちがサブテーマかはわかりづらくなります
  • ここで、元のテーマを集約するディレクトリ(contrib)、とカスタマイズのサブテーマのディレクトリ(custom)を作成して、集約することができます元テーマ/サブテーマのディレクトリ集約
    • themes
          +-- contrib
                   +-- theme 1
                   +-- theme 2
                   +-- theme ・・・
          +-- custom
                   +-- sub_theme 1
                   +-- sub_theme 2
                   +-- sub_theme ・・・
       
  • 作成された集約ディレクトリ(例:contrib, custom)、各テーマ/サブテーマのディレクトリを移動します
    • 移動後に各テーマ/サブテーマの構成ファイル(例:_info.yml)の定義の修正(ディレクトリ名に合わせ)必要はありません

 

ホーム

古松

検索

Article Category

  • apache(7)
  • css(19)
  • drupal(295)
  • Electron(4)
  • html(34)
  • javascript(27)
  • laravel(4)
  • linux(5)
  • macOS(2)
  • mysql(13)
  • php(19)
  • python(4)
  • SEO(12)
  • video(72)
  • Visual Studio Code(4)
  • windows(13)
  • wordpress(32)