Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Drupal テーマ開発入門講座 第2回 シンプルなカスタムテーマを作ってみよう
Search
アクイアジャパン Acquia Japan
March 23, 2022
Programming
340
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Drupal テーマ開発入門講座 第2回 シンプルなカスタムテーマを作ってみよう
https://www.acquia.com/jp/events/webinars/drupal-theming-development-vol2
アクイアジャパン Acquia Japan
March 23, 2022
More Decks by アクイアジャパン Acquia Japan
See All by アクイアジャパン Acquia Japan
Auth0 by OktaとDrupalで実践!認証付きアプリケーションの新しいアプローチ
acquiajp
0
230
Drupal 10.3の新機能紹介ウェビナー
acquiajp
0
270
DrupalCon Portland 2024 総まとめウェビナー
acquiajp
0
130
開発者必見!Acquia Cloud IDEで最高のDrupal開発を始めよう
acquiajp
0
230
触って学ぶ!デジタルアセット管理 Acquia DAM ハンズオンウェビナー
acquiajp
0
56
DrupalCon Lille 2023 総まとめウェビナー
acquiajp
0
100
コンテンツ設計手法で変更に強いアプリケーションを実現する〜ローコードによるWebアプリのバックエンド実装 #CNDF2023
acquiajp
0
410
DrupalCon Pittsburgh 2023 総まとめウェビナー
acquiajp
0
110
Acquia製品概要&Site Studioデモのご紹介
acquiajp
0
140
Other Decks in Programming
See All in Programming
170k Jobs a Day on GKE: Scaling Mercari's CI Platform - and What's Next for AI-Native Development
junyaokabe
0
110
Japan Community Day at Kubecon + CloudNativeCon Japan 2026: Learning Container Privilege Control by Building My Own Low-Level Container Runtime
ternbusty
1
150
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
0
130
「人を評価する AI」の設計と実装
ryoyanara
0
200
torikago - Ruby::Boxで照らすモジュラモノリスの実行境界
se4weed
1
370
What's New in Android 2026
veronikapj
0
260
ここ半年くらいでAIに作らせたR用ツール
eitsupi
0
380
Building a Meta Ray-Ban display app
akkeylab
0
130
OpenSpecのproposalにbrainstormingを持たせてみた
tigertora7571
1
220
jsmini JavaScript Engine を作ってみた話
yosuke_furukawa
PRO
0
320
ドリフトを絶対に許さない(?)CDK運用 / CDK Ops with Zero Tolerance for Drifts (?)
akihisaikeda
1
180
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
680
Featured
See All Featured
Google's AI Overviews - The New Search
badams
0
1.1k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
390
Designing for humans not robots
tammielis
254
26k
Amusing Abliteration
ianozsvald
1
240
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
410
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
790
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
Paper Plane
katiecoart
PRO
2
53k
Transcript
Drupal ςʔϚ ։ൃೖߨ࠲ ୈ2ճ γϯϓϧͳΧελϜςʔϚ Λ࡞ͬͯΈΑ͏
Drupal ςʔϚ։ൃೖߨ࠲γϦʔζ – Drupalʹ͓͚ΔʮςʔϚʯͱɺWebαΠτͷݟͨΛ୲͏ػೳͰ͢ɻຊΣϏφʔγϦʔ ζͰɺDrupalͷςʔϚ։ൃʹؔ͢ΔجૅࣝΛղઆ͠·͢ɻ – DrupalͷϑϩϯτΤϯυपΓʹ͍ͭͯମܥతʹֶͼ͍ͨํɺࣗͰΧελϜςʔϚΛ࡞ΕΔ Α͏ʹͳΓ͍ͨํɺΞΫΠΞೝఆσϕϩούʔࢼݧΛࢦ͢ํʹ͓͢͢ΊͰ͢ɻ – DrupalΛҰ௨Γૢ࡞ͨ͜͠ͱ͕͋ΔํΛରͱ͍ͯ͠·͢ɻ·ͩDrupalΛ৮ͬͨ͜ͱ͕ແ͍
ํɺॳ৺ऀ͚DrupalνϡʔτϦΞϧಈըʢຊޠʣΛઌʹݟ͓ͯ͘ͱΑΓཧղ͕ਂ·Γ ·͢ɻ
ΞδΣϯμ 1. ΧελϜςʔϚΛ࡞Ζ͏ 2. *.info.ymlϑΝΠϧͷ࡞ 3. CSS/JSϑΝΠϧΛՃ͠Α͏ 4. ςϯϓϨʔτϑΝΠϧΛ࡞͠Α͏ 5.
ςʔϚʹϦʔδϣϯΛఆٛ͠Α͏ 6. ࿅श
ΧελϜςʔϚΛ࡞Ζ͏
खॱ 1. *.info.ymlͷ࡞ 2. CSSɺJSͷՃ 3. ςϯϓϨʔτϑΝΠϧͷՃ 4. Ϧʔδϣϯͷఆٛ ΧελϜςʔϚͷ࡞εςοϓ
Drupal͕ςʔϚΛͲͷΑ͏ʹѻ͏͔Λֶश͢ΔͨΊʹɺΧελϜςʔϚΛ࡞͢ΔͨΊͷ େ·͔ͳྲྀΕΛհ͠·͢ɻ υΩϡϝϯτϧʔτԼʹɺthemes/custom/marucha/ ͱ͍͏σΟϨΫτϦΛ࡞͠ɺ͜͜ ͰςʔϚͷ࡞Λߦ͍ͬͯ͘͜ͱͱ͠·͢ɻ ιʔείʔυͪ͜Β→ https://github.com/hmaruyama/my-drupal9-theming/tree/vol2
*.info.ymlϑΝΠϧͷ࡞
– ςʔϚͷ໊લઆ໌ͳͲɺςʔϚʹؔ͢ΔϝλใΛهड़͢ΔͨΊͷϑΝΠϧͰ͢ɻ – ඞਢ(ςʔϚͰ།ҰͷඞਢϑΝΠϧͰ͢)ɻ – ͜ͷϑΝΠϧ͑͋͞ΕɺDrupalΧελϜςʔϚΛదͳςʔϚͱͯ͠ೝࣝͰ͖·͢ɻ – YMLܗࣜͷϑΝΠϧͳͷͰɺΠϯσϯτλϒͰͳ͘εϖʔε2ͭͰߦ͏ඞཁ͕͋Γ· ͢ɻ *.info.ymlϑΝΠϧͱ
your Drupal project roo t └── web (document root ) └── theme s └── custo m └── maruch a └── marucha.info.yml
marucha.info.ymlΛ࡞͠Α͏ name: Marucha type: theme description: '·ΔͷͨΊͷΧελϜςʔϚ' core_version_requirement: ^8 ||
^9 base theme: false ඞਢ ςʔϚͷϥϕϧ໊ ඞਢ ֦ுػೳͷछผΛࣔ͢ ςʔϚͷઆ໌Λࣔ͢ ରԠ͢ΔίΞόʔδϣϯ ඞਢ ϕʔεςʔϚͷࢦఆ
ࢀߟ) *.info.ymlϑΝΠϧͰఆٛՄೳͳKey-ValueϖΞ https://www.drupal.org/docs/theming- drupal/defining-a-theme-with-an-infoyml- file
ΧελϜςʔϚΛσϑΥϧτʹઃఆ – *.info.ymlϑΝΠϧΛదʹ༻ҙ͢Δ͚ͩͰɺ DrupalςʔϚΛೝࣝͯ͘͠Ε·͢ɻ – Drupalཧϝχϡʔ > ςʔϚ > ΞϯΠϯε
τʔϧࡁΈςʔϚ ʹɺΧελϜςʔϚ͕ද ࣔ͞Ε͍ͯΔ͔֬ೝ͠·͢ɻ – දࣔ͞Ε͍ͯͨΒɺαΠτͷσϑΥϧτςʔ Ϛʹઃఆ͓͖ͯ͠·͢ɻ
ΧελϜςʔϚ͕ਖ਼͘͠ద༻͞Ε͍ͯΔ͔֬ೝ – αΠτͷτοϓϖʔδʹҠಈͯ͠ɺ ←ͷΑ͏ͳݟͨͷϖʔδ͕ݱΕ͍ͯͨΒOKͰ͢ɻ – CSSJavaScriptϑΝΠϧҰద༻͞Ε͍ͯͳ͍ ͷͰɺ͜ͷ࣌Ͱऐ͍͠ϨΠΞτʹͳ͍ͬͯ ·͢ɻ
– ͔͜͜ΒCSSJSΛՃ͍͖ͯ͠·͢ʂ
CSS/JSϑΝΠϧΛՃ͠Α͏
ΞηοτϥΠϒϥϦͷཧํ๏ – DrupalͰςϯϓϨʔτʹCSSJSͷURLΛຒΊࠐΉͷͰͳ͘ɺΞηο τϥΠϒϥϦͱݺΕΔ෦ͷγεςϜʹొ͢ΔܗͰߦΘΕ·͢ɻ – ͜ΕʹΑΓɺγεςϜ෦ͰDrupal͕CSSͱJSͷѹॖΩϟογϡɺϩʔ υ͢Δॱ൪ΛೖΕସ͑ΔॲཧΛߦ͏͜ͱ͕Ͱ͖·͢ɻ
ΞηοτϥΠϒϥϦͷՃํ๏ 1. ಡΈࠐΈ͍ͨCSS/JSϑΝΠϧΛ४උ͠·͢ɻ 2. *.libraries.yml ͰΞηοτϥΠϒϥϦΛఆٛ͠·͢ɻ 3. ΞηοτϥΠϒϥϦΛಡΈࠐΈ·͢ɻ a. શͯͷϖʔδͰݺͼग़͢
- *.info.ymlʹఆٛ b. ಛఆͷTwigςϯϓϨʔτ - *.html.twigʹఆٛ c. ಛఆͷϒϩοΫɺϊʔυ - *.themeʹఆٛ https://www.drupal.org/docs/theming-drupal/adding- stylesheets-css-and-javascript-js-to-a-drupal-theme
CSSɾJSϑΝΠϧͷ४උ maruch a ɹ ᵓ── cs s ɹ │ └──
styles.cs s ɹ ᵓ── j s ɹ │ └── script.j s ɹ └── marucha.info.yml – ςʔϚσΟϨΫτϦԼʹ cssɺjsσΟϨΫτϦΛ࡞͠·͢ɻ – ֤σΟϨΫτϦʹϑΝΠϧΛஔ͠ ͓͖ͯ·͢ɻ a { color: red; } h1 { color: blue; } console.log('JS͕ಡΈࠐ·Ε·ͨ͠ɻ'); marucha/css/styles.css marucha/js/script.js
marucha.libraries.ymlΛ࡞͠Α͏ global-styling: version: 1.x css: theme: css/styles.css: {} global-scripts: version:
1.x js: js/script.js: {}
ఆٛͨ͠ΞηοτϥΠϒϥϦΛςʔϚʹՃ͢Δ name: Marucha type: theme description: '·ΔͷͨΊͷΧελϜςʔϚ' core_version_requirement: ^8 ||
^9 base theme: false libraries: - marucha/global-styling - marucha/global-scripts – ࣍ʹɺ*.libraries.ymlͰఆٛͨ͠ΞηοτϥΠϒϥϦΛͲ͜Ͱݺͼग़͔͢Λࢦఆ͠·͢ɻ – *.info.ymlͷlibrariesΩʔͰΞηοτϥΠϒϥϦΛࢦఆ͢ΔͱɺαΠτશମͰಡΈࠐ·Ε Δ͜ͱʹͳΓ·͢ɻ
ΞηοτϥΠϒϥϦ͕ద༻͞Ε͍ͯΔ͔֬ೝ – αΠτͷτοϓϖʔδʹҠಈͯ͠ɺ ←ͷΑ͏ͳݟͨͷϖʔδ͕ݱΕ͍ͯͨΒOKͰ ͢ɻ – ϨΠΞτ͕มߋ͞Ε͍ͯͳ͔ͬͨΒɺΩϟο γϡΫϦΞఆٛϑΝΠϧʹλΠϙ͕ͳ͍͔֬ೝ ͍ͯͩ͘͠͞ɻ
ϦϯΫ͕৭ʹͳ͍ͬͯΔ H1λάͷจࣈ͕੨৭ʹͳͬͯ ͍Δ ϒϥβͷ։ൃऀπʔϧΛ։͍ͯɺ ʮJS͕ಡΈࠐ·Ε·ͨ͠ʯͱ͍͏ ϩά͕දࣔ͞Ε͍ͯΔ
ࢀߟ) SMACSSͱ – Scalable and Modular Architecture for CSS –
CSSઃܭख๏ͷҰͭɻCSSΛ5ͭͷΧςΰϦʹྨͯ͠هड़͍ͯ͘͜͠ͱͰɺίʔυͷϝϯςφϯεੑΛ্ͤ͞·͢ɻ CSSઃܭख๏ଞʹBEMOOCSS͕༗໊Ͱ͢ɻ – 5ͭͷྨ – Base — HTMLཁૉͷελΠϦϯά – Layout — άϦουγεςϜΛؚΉϖʔδϨΠΞτͷελΠϦϯά – Component — ࠶ར༻ՄೳͳUIཁૉͷελΠϦϯά ※ SMACSSͰModuleͱݺΕΔ – State — ϚεΦʔόʔͳͲͷΫϥΠΞϯτଆͷίϯϙʔωϯτมߋͷελΠϦϯά – Theme — ίϯϙʔωϯτͷࢹ֮తͳελΠϦϯά – DrupalͰSMACSSΛ༻͍ͯCSSΛྨ͠·͢ɻ – Base, Layout, Component, State, Themeͷॱ൪ͰಡΈࠐΉΑ͏ʹͳ͍ͬͯ·͢ɻ
ςϯϓϨʔτϑΝΠϧΛ࡞͠Α͏
ςϯϓϨʔτϑΝΠϧͱ – Drupal 8Ҏ߱ɺDrupalTwigΛςϯϓϨʔτΤ ϯδϯʹ࠾༻͍ͯ͠·͢ɻ – ໋໊نଇ௨ΓͷϑΝΠϧ໊Λ༩͠ɺطଘͷί ϯϙʔωϯτΛ্ॻ͖͢ΔܗͰ࡞͠·͢ɻ – ೖΕࢠঢ়ʹςϯϓϨʔτϑΝΠϧ͕ଘࡏ͠·
͢ɻ – ൚༻తͳςϯϓϨʔτΑΓ۩ମతͳςϯϓ ϨʔτͰ্ॻ͖Ͱ͖·͢ɻ https://www.drupal.org/docs/theming-drupal/ twig-in-drupal
ࢀߟ) ςϯϓϨʔτΤϯδϯͱ – ςϯϓϨʔτͱݺΕΔܗͱɺ͋ΔσʔλϞσϧͰදݱ͞ΕΔೖྗσʔλΛ߹͠ɺՌυΩϡϝϯτΛग़ྗ͢Διϑτ ΣΞ - wikipedia – PHPք۾ͰΑ͘ར༻͞ΕΔςϯϓϨʔτΤϯδϯ
– Twig (Symfonyඪ४) – Blade (Laravelඪ४) – Smarty – ͳͥςϯϓϨʔτΤϯδϯΛ༻͢Δͷʁ – ViewͱϩδοΫͷ – XSS߈ܸͷճආʢࣗಈΤεέʔϓॲཧʣ - શͯͷHTMLΛTwigςϯϓϨʔτͰग़ྗ͢Δ͜ͱ͕·͍͠Ͱ͢ɻWriting secure code for Drupal ࢀর – Drupal 8Ҏલ(ver 4.7 ~ 7.x)ͰʮPHPTemplateʯ͕ςϯϓϨʔτΤϯδϯͱͯ͠࠾༻͞Ε͍ͯ·ͨ͠ɻ
ςϯϓϨʔτΛ৮Δલʹɾɾɾ – ςϯϓϨʔτ։ൃΛߦ͏લʹɺTwigͷσόοάΛ༗ޮԽ͢Δ͜ͱΛ͓קΊ͠·͢ɻ※ຊ൪ڥ Ͱແޮʹ͍ͯͩ͘͠͞ – web/sites/default/services.yml ϑΝΠϧͰdebugมΛtrueʹมߋ͢Δ͜ͱͰ༗ޮԽ͞Ε·͢ɻ – services.yml͕ଘࡏ͠ͳ͍߹ɺ
default.services.ymlΛίϐʔͯ͠ ϑΝΠϧΛ࡞͍ͯͩ͘͠͞ɻ ..(লུ).. twig.config: debug: true ..(লུ).. web/sites/default/services.yml
Twigͷσόοά ςϯϓϨʔτϑΝΠϧ໊ީิ * Ͱͳ͘ x ͕༻தͷςϯϓ ϨʔτϑΝΠϧ ༻தͷςϯϓϨʔτϑΝΠ ϧͷॴ ΩϟογϡΫϦΞΛߦͬͨΒɺDrupalα
ΠτͰϒϥβͷ։ൃऀίϯιʔϧΛ։ ͍ͯݟ·͢ɻ
$ cp web/core/modules/block/templates/block.html.twig web/themes/custom/marucha/ templates/block--marucha-page-title.html.twig ..(লུ).. <div{{ attributes }}> <div{{
attributes.addClass('my-class') }}> # my-classΫϥεΛՃ {{ title_prefix }} {% if label %} ..(লུ).. ςϯϓϨʔτΛ্ॻ͖͠Α͏ web/themes/custom/marucha/templates/block--marucha-page-title.html.twig
Ճͨ͠ςϯϓϨʔτϑΝΠϧ͕༻͞Ε͍ͯΔ͔֬ೝ ༻͢ΔςϯϓϨʔτ͕ block.html.twig͔Βblock- marucha-page-title.html.twigʹม ߋ͞Εͨ my-classΫϥε͕Ճ͞Εͨ
ςʔϚʹϦʔδϣϯΛఆٛ͠Α͏
– ϒϩοΫςʔϚͷϦʔδϣϯʹஔ͞Ε· ͢ɻ – ϦʔδϣϯςʔϚ͝ͱʹఆٛ͞Ε·͢ɻ – ςʔϚ͝ͱʹಠࣗͷϦʔδϣϯΛఆٛͰ͖·͢ɻ – ςʔϚͰϦʔδϣϯΛఆٛ͠ͳͯ͘ɺDrupalͷ σϑΥϧτϦʔδϣϯΛ༻͢Δ͜ͱͰ͖·
͢ɻ Ϧʔδϣϯͱ BartikςʔϚͷϦʔδϣϯ https://www.drupal.org/docs/user_guide/en/block-regions.html
Ϧʔδϣϯͷఆٛํ๏ 1. *.info.ymlͰϦʔδϣϯΛఆٛ͠·͢ɻ 2. page.html.twigΛฤूͯ͠ɺఆٛͨ͠ϦʔδϣϯΛஔ͠·͢ɻ https://www.drupal.org/docs/theming- drupal/adding-regions-to-a-theme
ࠓͷϦʔδϣϯΛݟͯΈΑ͏ – ࠓͷ࣌ͰɺʮMaruchaʯΧελϜςʔϚ Ͱ༻ՄೳͳϦʔδϣϯ࣍ͷ௨ΓͰ͢ɻ – *.info.ymlͰϦʔδϣϯΛఆ͍ٛͯ͠ͳ͍ͷ ͰɺDrupalͷσϑΥϧτϦʔδϣϯ͕༻ ͞Ε͍ͯ·͢ɻ
– ςʔϚͷ*.info.ymlͰϦʔδϣϯ͕એݴ͞Ε͍ͯͳ͍߹ɺDrupal࣍ͷϦʔδϣϯΛσ ϑΥϧτͰηοτ͠·͢ɻ – Left sidebar (sidebar_first) – Right sidebar
(sidebar_second) – Content (content) – Header (header) – Primary menu (primary_menu) – Secondary menu (secondary_menu) – Footer (footer) – Highlighted (highlighted) – Help (help) – Breadcrumb (breadcrumb) – Page top (page_top) – Page bottom (page_bottom) σϑΥϧτϦʔδϣϯ https://www.drupal.org/docs/theming-drupal/adding- regions-to-a-theme#default_regions
– ςʔϚͷ*.info.ymlͰϦʔδϣϯ͕એݴ͞Ε͍ͯͳ͍߹ɺDrupal࣍ͷϦʔδϣϯΛσ ϑΥϧτͰηοτ͠·͢ɻ – Left sidebar (sidebar_first) – Right sidebar
(sidebar_second) – Content (content) – Header (header) – Primary menu (primary_menu) – Secondary menu (secondary_menu) – Footer (footer) – Highlighted (highlighted) – Help (help) – Breadcrumb (breadcrumb) – Page top (page_top) – Page bottom (page_bottom) σϑΥϧτϦʔδϣϯ https://www.drupal.org/docs/theming-drupal/adding- regions-to-a-theme#default_regions ςʔϚଆͰҰͭͰϦʔδϣϯΛ ఆٛͨ͠ΒɺσϑΥϧτϦʔδϣ ϯແޮʹͳΔʂ ʢ˞ඇදࣔϦʔδϣϯΛআ͘ʣ
ඇදࣔϦʔδϣϯ(Hidden regions)ͱ – ࣍ͷೋͭͷϦʔδϣϯʮHidden regionsʯͱݺΕɺϒϩοΫϨΠΞτϖʔ δͰදࣔ͞Ε·ͤΜɻ – Page top (page_top)
– Page bottom (page_bottom) – ඇදࣔϦʔδϣϯ page.html.twig Ͱͳ͘ html.html.twig Ͱݺͼͩ͞Ε·͢ɻ – *.info.ymlͰఆٛͰ͖·͕͢ɺఆٛ͠ͳͯ͘DrupalଆͰ༻ҙ͞Ε·͢ɻ – Ϟδϡʔϧ͕ඇදࣔϦʔδϣϯʹґଘ͍ͯ͠Δ߹͕͋ΔͷͰɺhtml.html.twig ΛΧελϚΠζ͢ΔࡍʹɺඇදࣔϦʔδϣϯΛআ͠ͳ͍Α͏ʹ͍ͯͩ͘͠͞ɻ
ςʔϚʹϦʔδϣϯΛఆٛͯ͠ΈΑ͏ – *.info.yml ʹ regions ΩʔͰ3ͭͷϦʔ δϣϯΛఆٛ͠·͢ɻ – My Header
(my_header) – My Content (my_content) – My Footer (my_footer) – ϦʔδϣϯͷϚγϯ໊ӳࣈͰ͋ Δඞཁ͕͋Γ·͢ɻΞϯμʔείΞΛ ؚΊΒΕ·͢ɻ name: Marucha type: theme description: '·ΔͷͨΊͷΧελϜςʔϚ' core_version_requirement: ^8 || ^9 base theme: false libraries: - marucha/global-styling - marucha/global-scripts regions: my_header: 'My Header' my_content: 'My Content' my_footer: 'My Footer'
ఆٛͨ͠ϦʔδϣϯΛςϯϓϨʔτʹՃ͠Α͏ $ cp web/core/modules/system/templates/page.html.twig web/themes/custom/marucha/ templates/ <header> {{ page.my_header }}
</header> <main> {{ page.my_content }} </main> <footer> {{ page.my_footer }} </footer> web/themes/custom/marucha/templates/page.html.twig
ϒϩοΫϨΠΞτը໘Ͱɺ*.info.ymlͰఆ ٛͨ͠Ϧʔδϣϯ͕දࣔ͞Ε͍ͯΔ͔֬ ೝ͠·͢ɻ ϦʔδϣϯΛ৽ͨʹఆٛ͢Δ͜ͱʹΑͬ ͯɺϒϩοΫͷஔ͕Ϧηοτ͞Ε·͢ɻ ϒϩοΫϨΠΞτը໘Ͱɺదٓඞཁͳ ϒϩοΫΛϦʔδϣϯʹઃஔ͠·͢ɻ ఆٛͨ͠Ϧʔδϣϯ͕ө͞Ε͍ͯΔ͔֬ೝ
࿅श
࿅श1 *.info.ymlͰඞͣࢦఆ͢Δඞཁͷ͋ΔΛ͔࣍Β2ͭબ͍ͯͩ͘͠͞ɻ 1. name 2. description 3. regions 4. type
5. logo
࿅श1 *.info.ymlͰඞͣࢦఆ͢Δඞཁͷ͋ΔΛ͔࣍Β2ͭબ͍ͯͩ͘͠͞ɻ 1. name 2. description 3. regions 4. type
5. logo 1, 4
*.libraries.ymlͰఆٛͨ͠ΞηοτϥΠϒϥϦΛαΠτશମͰಡΈࠐΉʹͲ͏͢Εྑ͍Ͱ͔͢ʁ 1. *.libraries.ymlͰΞηοτϥΠϒϥϦΛదʹఆٛ͢Δ͚ͩͰɺσϑΥϧτͰαΠτશମͰಡΈ ࠐ·ΕΔΑ͏ʹͳΔͨΊɺԿ͠ͳͯ͘ྑ͍ɻ 2. *.info.ymlʹɺlibrariesΩʔͰΞηοτϥΠϒϥϦΛࢦఆͯ͠ಡΈࠐΉɻ 3. html.html.twig ϑΝΠϧʹɺattach_libraryؔΛ༻ͯ͠ಡΈࠐΉɻ 4.
*.themeͰϓϦϓϩηεؔΛ༻ͯ͠ಡΈࠐΉɻ ࿅श2
*.libraries.ymlͰఆٛͨ͠ΞηοτϥΠϒϥϦΛαΠτશମͰಡΈࠐΉʹͲ͏͢Εྑ͍Ͱ͔͢ʁ 1. *.libraries.ymlͰΞηοτϥΠϒϥϦΛదʹఆٛ͢Δ͚ͩͰɺσϑΥϧτͰαΠτશମͰಡΈ ࠐ·ΕΔΑ͏ʹͳΔͨΊɺԿ͠ͳͯ͘ྑ͍ɻ 2. *.info.ymlʹɺlibrariesΩʔͰΞηοτϥΠϒϥϦΛࢦఆͯ͠ಡΈࠐΉɻ 3. html.html.twig ϑΝΠϧʹɺattach_libraryؔΛ༻ͯ͠ಡΈࠐΉɻ 4.
*.themeͰϓϦϓϩηεؔΛ༻ͯ͠ಡΈࠐΉɻ ࿅श2 2
ʮarticleʯίϯςϯπλΠϓͷΈʹөͤ͞ΔʹɺͲͷςϯϓϨʔτϑΝΠϧΛΦʔ όʔϥΠυ͢Δ͖Ͱ͔͢ʁ 1. node.html.twig 2. html.html.twig 3. node--article.html.twig 4. node--2.html.twig
5. node--article--teaser.html.twig ࿅श3
ʮarticleʯίϯςϯπλΠϓͷΈʹөͤ͞ΔʹɺͲͷςϯϓϨʔτϑΝΠϧΛΦʔ όʔϥΠυ͢Δ͖Ͱ͔͢ʁ 1. node.html.twig 2. html.html.twig 3. node--article.html.twig 4. node--2.html.twig
5. node--article--teaser.html.twig ࿅श3 3
ΧελϜςʔϚͰDrupal͕༻ҙ͢ΔσϑΥϧτϦʔδϣϯ͕༻͞ΕΔͷͲΜͳ໘Ͱ͔͢ɻ 1. *.info.ymlʹϦʔδϣϯ͕ఆٛ͞Ε͍ͯͳ͍߹ɻ 2. *.info.ymlͷbase themeΩʔͷ͕falseͷ߹ɻ 3. *.info.ymlͷbase themeΩʔʹҙͷϕʔεςʔϚ͕ࢦఆ͞Ε͍ͯΔ߹ɻ 4.
*.info.ymlͷregionsΩʔʹtrueΛࢦఆͨ͠߹ɻ 5. ৗʹσϑΥϧτϦʔδϣϯ͕༻͞ΕΔɻ 6. Drupalཧը໘ͷςʔϚݻ༗ͷઃఆϖʔδͷઃఆ߲ͰɺʮσϑΥϧτϦʔδϣϯΛ༻ ͢ΔʯʹνΣοΫ͕ೖ͍ͬͯΔ߹ɻ ࿅श4
ΧελϜςʔϚͰDrupal͕༻ҙ͢ΔσϑΥϧτϦʔδϣϯ͕༻͞ΕΔͷͲΜͳ໘Ͱ͔͢ɻ 1. *.info.ymlʹϦʔδϣϯ͕ఆٛ͞Ε͍ͯͳ͍߹ɻ 2. *.info.ymlͷbase themeΩʔͷ͕falseͷ߹ɻ 3. *.info.ymlͷbase themeΩʔʹҙͷϕʔεςʔϚ͕ࢦఆ͞Ε͍ͯΔ߹ɻ 4.
*.info.ymlͷregionsΩʔʹtrueΛࢦఆͨ͠߹ɻ 5. ৗʹσϑΥϧτϦʔδϣϯ͕༻͞ΕΔɻ 6. Drupalཧը໘ͷςʔϚݻ༗ͷઃఆϖʔδͷઃఆ߲ͰɺʮσϑΥϧτϦʔδϣϯΛ༻ ͢ΔʯʹνΣοΫ͕ೖ͍ͬͯΔ߹ɻ ࿅श4 1
ຊͷΞδΣϯμऴྃ
ΞδΣϯμ 1. ΧελϜςʔϚΛ࡞Ζ͏ 2. *.info.ymlϑΝΠϧͷ࡞ 3. CSS/JSϑΝΠϧΛՃ͠Α͏ 4. ςϯϓϨʔτϑΝΠϧΛ࡞͠Α͏ 5.
ςʔϚʹϦʔδϣϯΛఆٛ͠Α͏ 6. ࿅श
None