Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Drupal テーマ開発入門講座 第2回 シンプルなカスタムテーマを作ってみよう
Search
アクイアジャパン Acquia Japan
March 23, 2022
Programming
350
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
240
Drupal 10.3の新機能紹介ウェビナー
acquiajp
0
280
DrupalCon Portland 2024 総まとめウェビナー
acquiajp
0
140
開発者必見!Acquia Cloud IDEで最高のDrupal開発を始めよう
acquiajp
0
240
触って学ぶ!デジタルアセット管理 Acquia DAM ハンズオンウェビナー
acquiajp
0
57
DrupalCon Lille 2023 総まとめウェビナー
acquiajp
0
120
コンテンツ設計手法で変更に強いアプリケーションを実現する〜ローコードによるWebアプリのバックエンド実装 #CNDF2023
acquiajp
0
410
DrupalCon Pittsburgh 2023 総まとめウェビナー
acquiajp
0
110
Acquia製品概要&Site Studioデモのご紹介
acquiajp
0
150
Other Decks in Programming
See All in Programming
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
220
信頼性の目標を誰も求めてない
shubox
0
500
Family mrubyの進捗
kishima
1
110
Kiroで創り、AgentCoreで繋ぐ!AWSで実践する「AI-DLC」から「AIエージェント統合」までの最新地図
licux
4
640
Seeing Through Serverless: Observability for AWS Lambda with ADOT and CloudWatch Application Signals
seike460
PRO
1
130
Deep dive into the select statement (GopherCon UK)
jespino
0
170
Omarchy Tokyo やると聞いて UMPC 買ってセットアップしてきた
mtsmfm
0
130
高専キャリア LT 発表内容
crysta1221
6
5.6k
MIZARU@SPAJAM2026 第二回予選
1901drama
0
110
型解析で実現する Go の言語内 DSL / Conference に Go! タイムテーブルの歩き方 for Gophers
mazrean
0
140
新人はどこまで自力でやり、どこからAIに頼るべきか/エンジニア育成に向き合う_先輩たちの悩みと知見共有会
toppan_digital_dev
1
600
kubernetes コンポーネント開発入門 / 新卒N年目の勉強会&交流会!〜〇〇への誘い〜 #n_study
mazrean
0
200
Featured
See All Featured
It's Worth the Effort
3n
188
29k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
Exploring anti-patterns in Rails
aemeredith
3
500
Rails Girls Zürich Keynote
gr2m
96
14k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
New Earth Scene 8
popppiees
3
2.5k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
42k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
230
Into the Great Unknown - MozCon
thekraken
41
2.7k
Scaling GitHub
holman
464
140k
The SEO identity crisis: Don't let AI make you average
varn
0
550
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