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ハンズオン / Drupal hands-on for B...
Search
アクイアジャパン Acquia Japan
August 11, 2021
Programming
130
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
【開発者向け】初心者向けDrupalハンズオン / Drupal hands-on for Beginners
https://www.acquia.com/jp/events/webinars/drupal-handson-q32021
アクイアジャパン Acquia Japan
August 11, 2021
More Decks by アクイアジャパン Acquia Japan
See All by アクイアジャパン Acquia Japan
Auth0 by OktaとDrupalで実践!認証付きアプリケーションの新しいアプローチ
acquiajp
0
240
Drupal 10.3の新機能紹介ウェビナー
acquiajp
0
290
DrupalCon Portland 2024 総まとめウェビナー
acquiajp
0
140
開発者必見!Acquia Cloud IDEで最高のDrupal開発を始めよう
acquiajp
0
250
触って学ぶ!デジタルアセット管理 Acquia DAM ハンズオンウェビナー
acquiajp
0
61
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
難しいけど、読めた。- OSSの入口に立った話。
sts11142
0
140
Workers Cache を知る
syumai
0
330
Simple Storage Service(S3) is not simple
iwatsukayura
0
190
Security issues being discussed on Web Platforms
petamoriken
0
1.4k
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
150
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.5k
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
7
13k
Vue Fes Japan 2026 タイムテーブル徹底解説
448jp
1
620
JRuby: Past, Present, and Future
headius
0
220
CodeRabbitの効果検証と過ごしてみた3ヶ月
armondando
0
140
手動確認はもう限界 〜XCUITestでCustom URL Schemeの遷移を起動種別ごとに自動テストする〜 / Testing Custom URL Schemes with XCUITest
otouto
0
390
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
1.8k
Featured
See All Featured
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
470
The agentic SEO stack - context over prompts
schlessera
0
960
Mobile First: as difficult as doing things right
swwweet
225
10k
Claude Code のすすめ
schroneko
67
230k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
510
Agile that works and the tools we love
rasmusluckow
331
22k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
4k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
Transcript
1 2࣌ؒͰΣϒαΠτߏஙʂ DrupalϋϯζΦϯ ΞΫΠΞδϟύϯ 3
ΦʔϓϯιʔεCMSʮDrupalʯ֓ཁ • 2001ʹΦʔϓϯιʔεͱͯ͠ެ։͞ΕͨPHPͷCMS • GPLόʔδϣϯ2Ҏ߱ͷϥΠηϯεʹج͖ͮ • ੈքͰ࠷ϙϐϡϥʔͳCMSͷҰͭ DrupalͷެࣜΩϟϥΫλʔ Druplicon
ࣈͰݟΔDrupal 100ສ+ WebαΠτͰՔಇ 46,000ਓ+ Drupal։ൃऀ 11ສਓ+ ΞΫςΟϒ ίϯτϦϏϡʔλʔ 140ສ+
ίϛϡχςΟϝϯόʔ 20 Drupalͷྸ 9 ࠷৽ϝδϟʔόʔδϣ ϯ
ۀքΘͣɺੈքͷ໊ͩͨΔϒϥϯυ͕DrupalΛ࠾༻ ஶ໊ͳDrupal࠾༻اۀ • NASA • ࠃ࿈ • Πʔελϯۜߦ • ΦοΫεϑΥʔυେֶ
• ςεϥɾϞʔλʔζ • Τϧϝε • ΦʔετϥϦΞ • ΞϝοΫε • IBM ༷ʑͳλΠϓͷWebαΠτ/WebαʔϏεͰར༻͞Ε͍ͯ·͢ • ίʔϙϨʔταΠτ • ΦϯυϝσΟΞ • ϒϥϯυαΠτ • EίϚʔεαΠτ • ࣾϙʔλϧ • SNSαΠτ
Πϯετʔϧ͙ͯ͢͠ʹ͑ ΔCMSͷΠϯλʔϑΣʔε ϑϨʔϜϫʔΫͳΒͰͷ ൚༻ੑͷߴ͞ Drupal CMSͱͯ͠ɺίϯςϯπฤूऀɺ։ൃऀͷχʔζ྆ํΛຬͨ͢ ਫͷΑ͏ʹ͠ͳ͔ʹɺ൚༻ੑߴ͍ϓϥοτϑΥʔϜ
͙͢ʹ͑Δඪ४ػೳ ίϯςϯπͷߘɾදࣔ – ίϯςϯπλΠϓͷఆٛ λΫιϊϛʔͱϘΩϟϒϥϦʔ – λά͚ػೳ Ϣʔβʔͱϩʔϧཧ
– ࡉ͔͍୯Ґͷݖݶɺϩʔϧ࡞ ϝσΟΞཧ – ը૾ಈըϑΝΠϧͳͲΛҰݩཧ ViewsʢΫΤϦϏϧμʔʣ – ϊʔίʔυͰSQLจΛ࡞ͯ͠ ίϯςϯπͷநग़ ίϯςϯπͷ౷ܭཧ – ϖʔδຖͷΞΫηεͷूܭ ݕࡧ – ඪ४Ͱ༻ҙ͞Ε͍ͯΔݕࡧػೳ Ωϟογϯά – ಈతίϯςϯπͷΩϟογϡ ଟݴޠػೳ – αΠτͷଟݴޠల։ ঝೝϫʔΫϑϩʔ – ίϯςϯπͷঝೝϫʔΫϑϩʔΛࣗ༝ʹఆٛ Web API – Drupal ͷίϯςϯπΛ Web API ͱͯ͠ѻ͏ – εϚϗΞϓϦɺσδλϧαΠωʔδͳͲ Ϛϧννϟωϧͷ৴ etc... CMSͱͯ͠ίϯςϯπฤूऀɺϚʔέλʔʹ༏͍͠ػೳͷఏڙ
Drupalͷػೳ֦ுͱΤίγεςϜ ج൫ – ΤϯςΟςΟγεςϜʹΑͬͯɺߏԽ͞ΕͨίϯςϯπΛߏஙͰ͖·͢ɻ – DrupalʮϞδϡʔϧʯͱݺΕΔখ͍͞ػೳͷ୯ҐΛෳΈ߹Θͤͯߏ͍͖ͯ͠·͢ɻʢϞδϡϥʔࣜϑ ϨʔϜϫʔΫʣ DrupalΤίγεςϜ – 4ສݸҎ্ͷίϯτϦϏϡʔτϞδϡʔϧ͕ίϛϡχςΟ͔Βఏڙ͞Ε͍ͯΔͨΊɺ։ൃΛͤͣʹػೳΛՃ͢Δ͜ͱ͕
ՄೳͰ͢ɻ – ଞʹςʔϚσΟετϦϏϡʔγϣϯʢҰࣜύοέʔδʣ͕ଟެ։͞Ε͍ͯ·͢ɻ DevOps – Drupal2015͔ΒOOPʢΦϒδΣΫτࢦʣɺSymfonyϑϨʔϜϫʔΫΛ࠾༻͠ɺ֦ுੑͱอकੑ্͕͠ ·ͨ͠ɻ – ߏཧπʔϧͱݺΕΔɺDrupalͷઃఆ༰ΛYAMLͰཧͰ͖Δػೳ͕ඪ४Ͱ༻ҙ͞Ε͓ͯΓɺνʔϜ։ ൃɺܧଓ։ൃʹڧ͍Ͱ͢ɻ ൚༻ੑߴ͍γεςϜઃܭͱܧଓత։ൃʹඞཁͳػೳ͕ἧ͍ͬͯΔ
WordPressͱͷҧ͍ WordPressখʙதنαΠτɺDrupalେنαΠτʹڧ͍ʂ DrupalͷڧΈʢWordPressͷऑΈʣ – ߏԽίϯςϯπ – ΤϯςΟςΟγεςϜ – API-First ࢦ
– ܧଓతͳ։ൃ – OOPͷ࠾༻ – ߏཧπʔϧͰ ߏͱσʔλϕʔεΛ DrupalͷऑΈʢWordPressͷڧΈʣ – ॳ৺ऀʹͱͬͯ ͱ͖ͬͭͮΒ͍ʢUI/UXʣ – ຊޠࢿྉ͕গͳ͍ https://medium.com/sthlmconnection/drupal- wordpress-and-all-the-rest-90cb9b798d0c ϓϩδΣΫτͷෳࡶ͞ͱ ࠷దͳϓϥοτϑΥʔϜ ࢢͷॅΈ͚ https://w3techs.com/technologies/details/cm-drupal ՔಇαΠτ τ ϥ ϑ Ο ο Ϋ ྔ
ଞ༻CMSͱͷҧ͍ – DrupalϥΠηϯεඅ༻͕͔͔Βͳ͍ͷͰɺίετ Λ͑ͯߏஙͰ͖Δ – Drupalͷ։ൃʹܞΘ͍ͬͯΔ։ൃऀ(ίϯτϦ Ϗϡʔλʔ)͕ੈքதʹ11ສਓ͍ΔͷͰɺػೳվળ όάϑΟοΫε͕ૣ͍ –
6ϲ݄͝ͱʹ৽ػೳ͕ϦϦʔε – DrupalΦʔϓϯιʔεͳͷͰ ϕϯμʔϩοΫΠϯ͕ແ͍ ΦʔϓϯιʔεͳΒͰͷར ੈքτοϓاۀͷCMS࠾༻ Fortune 500ʹ͓͚ΔDrupalͷ࠾༻اۀྫ: GE (Fortune #9)ɺJ&J (#39)ɺNBC Universal (unit of #44 Comcast)ɺPfizer (#51)ɺ eBay (#180)
ੈքதͷDrupalίϛϡχςΟ ຊͰͷίϛϡχςΟ׆ಈ • Drupal Meetup Tokyo ◦ https://drupal-tokyo.connpass.com/ • Drupal
Meetup Ӌాɺ๛ాɺകా ◦ https://drupal-meetup-haneda.connpass.com/ • Drupal ͬ͞ΆΖ ◦ https://drupalsapporo.connpass.com • DrupalΛֶ͘͞͠Ϳษڧձ ◦ https://cmslabo.doorkeeper.jp/ DrupalCon • ੈք࠷େͷDrupalΧϯϑΝϨϯε • ੈք֤͔Β3,000ਓҎ্͕ࢀՃ • χϡʔΦʔϦϯζɺϜϯόΠɺόϧηϩφ...
DrupalͱΞΫΠΞͷؔ DrupalͷੜΈͷͰ͋Δ υϦεɾόΠλϧτ͕ۀͨ͠اۀ • ΤϯλʔϓϥΠζͰ҆৺ͯ͠DrupalΛѻ͑ΔΑ͏ʹ DrupalͷϗεςΟϯάͱ༗ঈαϙʔτΛఏڙ • Redhat͕LinuxΛࢿຊతʹࢧԉ͢ΔΑ͏ʹɺ ΞΫΠΞ͕DrupalΛࢿຊతʹࢧԉ
• Drupal։ൃʹίϛοτ͢ΔΤϯδχΞΛ࠾༻ • Drupal 8ͷ্Ґ20ਓͷߩݙऀͷ͏ͪ 5ਓ͕ΞΫΠΞʹॴଐ • ੈքͰ།ҰɺDrupalೝఆࢼݧΛఏڙ
Drupal ॳ৺ऀ͚ ϋϯζΦϯ 12
ϋϯζΦϯ֓ཁ ॳ৺ऀ͚ɾϊϯίʔσΟϯάͰ γϯϓϧͳҿ৯ళ(ΧϑΣ)αΠτΛ࡞͠·͢ ॴཁ࣌ؒɿ1.5࣌ؒʙ2࣌ؒ 13 ϋϯζΦϯͰߦ͑ΔΑ͏ʹͳΔ͜ͱ • DrupalϩʔΧϧڥߏங •
ϕʔγοΫͳίϯςϯπཧ • Viewsػೳ • ΧελϜίϯςϯπλΠϓͷ׆༻ • ֦ுϞδϡʔϧͷΠϯετʔϧͱ༗ޮԽ • DrushίϚϯυ
ϋϯζΦϯखॱ 1. LandoΛ༻͍ͨDrupalϩʔΧϧ։ൃڥߏங ͱDrupalͷΠϯετʔϧ 2. جຊతͳϖʔδͷ࡞ํ๏ 3. Ϗϡʔζ(Views)Λ༻ͨ͠
ಈతϦετͷ࡞ 4. ΧελϜίϯςϯπλΠϓΛ࡞Ζ͏ 5. ComposerͱdrushΛ༻͍ͨ ֦ுϞδϡʔϧͷΠϯετʔϧํ๏ 14
DrupalͷγεςϜཁ݅ͱґଘϥΠϒϥϦ ※Drupal 9.1.x ͷ߹ γεςϜཁ݅ – Apache 2.4.7 Ҏ্ –
Nginx 0.7.x Ҏ্ – PHP 7.3 Ҏ্ ※ PHP 8.0 ʹؔͯ͠ Drupal 9.1 Ͱਖ਼ࣜʹαϙʔτ – MySQL 5.7.8 Ҏ্ – MariaDB 10.3.7 Ҏ্ – SQLite 3.26 Ҏ্ – (pg_trgm ϞδϡʔϧΛඋ͑ͨ) PostgreSQL 10 Ҏ্ ओͳαʔυύʔςΟʔͷґଘؔ – Symfony 4.4 – Twig 2 – CKEditor 4 – PHPUnit 8 https://www.drupal.org/docs/system-requirements
Drupalڥͷ༻ҙ – ༗໊ͳDrupalͷϩʔΧϧ։ൃڥߏஙπʔϧ – Lando – Docksal – DDEV –
Drupal VM – ࠓճྫͱͯ͠ɺLandoͰ Drupal 9ڥΛߏங͢ΔखॱΛհ
LandoΛ༻͍ͨDrupalͷϩʔΧϧ։ൃڥͷ࡞ # ϓϩδΣΫτσΟϨΫτϦͷ࡞ͱҠಈ $ mkdir my-d9app-aug11 && cd my-d9app-aug1 1
# LandoͷॳظԽ $ lando init --source cwd --recipe drupal9 --webroot web --name my-d9app-aug1 1 # ίϯςφͷىಈ $ lando star t …(লུ).. . APPSERVER URLS https://localhost:5501 7 http://localhost:5501 8 http://my-d9app-aug11.lndo.site / https://my-d9app-aug11.lndo.site / # DrupalϓϩδΣΫτͷ࡞ $ lando composer create-project drupal/recommended-project tmp && cp -r tmp/. . && rm -rf tm p # DrushʢDrupalͷίϚϯυϥΠϯπʔϧʣͷΠϯετʔϧ $ lando composer require drush/drush DrupalϓϩδΣΫτ࡞ʙίϯςφͷىಈ Docker, LandoͷΠϯετʔϧखॱল͖·͢
DrupalͷॳظΠϯετʔϧ – ϒϥβͰϩʔΧϧαʔόʔʹΞΫηε – http://my-drupal9-app.lndo.site:8080/ – ΠϯλϥΫςΟϒΠϯετʔϥʔ͕ىಈ – ϓϩϑΝΠϧʮඪ४ʯΛબ –
σʔλϕʔεͷଓઌใ lando info ίϚϯυͰ֬ೝ LandoΛ༻͍ͨDrupalͷϩʔΧϧ։ൃڥͷ࡞ ͓·͚ɿLandoͷૢ࡞ – lando stop – ίϯςφͷఀࢭ – lando ssh – ίϯςφͷγΣϧʹΞΫηε͢Δ
DrupalͷॳظΠϯετʔϧ͕ྃ͢Δͱɺ͜ͷΑ͏ͳը໘্ཱ͕͕ͪΓ·͢ɻ LandoΛ༻͍ͨDrupalͷϩʔΧϧ։ൃڥͷ࡞
ཧπʔϧόʔͷϝχϡʔ߲ͷղઆ ৽͍͠ίϯςϯπͷ࡞ɺ طଘͷίϯςϯπͷҰཡද ࣔɺཧΛߦ͍·͢ɻ αΠτͷ͞·͟·ͳઃఆ ϖʔδͷϦϯΫؚ͕·Ε ͍ͯ·͢ɻ ϩάɺߋ৽ใɺαΠτͷ ঢ়ଶʹؔ͢ΔϦϯΫؚ͕· Ε͍ͯ·͢ɻ
ςʔϚͷઃఆΛཧ͠· ͢ɻ ϒϩοΫɺίϯςϯπλΠϓɺ ϝχϡʔɺλΫιϊϛʔͳͲα ΠτͷߏΛཧ͢ΔͨΊͷ ػೳʹΞΫηεͰ͖·͢ɻ ϞδϡʔϧͷΠϯετʔ ϧɺΞϯΠϯετʔϧΛ ཧ͠·͢ɻ ϢʔβʔɺׂɺݖݶΛ ཧ͠·͢ɻ ΠϯετʔϧࡁΈϞδϡʔ ϧͷϔϧϓτϐοΫΛҰཡ දࣔ͠·͢ɻ https://www.drupal.org/docs/user_guide/en/config-overview.html
ϋϯζΦϯखॱ 1. LandoΛ༻͍ͨDrupalϩʔΧϧ։ൃڥߏங ͱDrupalͷΠϯετʔϧ 2. جຊతͳίϯςϯπͷ࡞ํ๏ 3. Ϗϡʔζ(Views)Λ༻ͨ͠
ಈతϦετͷ࡞ 4. ΧελϜίϯςϯπλΠϓΛ࡞Ζ͏ 5. ComposerͱdrushΛ༻͍ͨ ֦ுϞδϡʔϧͷΠϯετʔϧํ๏ 21
جຊతͳίϯςϯπͷ࡞ํ๏ ࣍ͷίϯςϯπΛ࡞͠·͢ɻ – τοϓϖʔδ – τοϓϖʔδʹؔͯ͠ɺαΠτͷτοϓϖʔδͱೝࣝ͢ ΔΑ͏ͳઃఆಉ࣌ʹߦ͍͖ͬͯ·͢ɻ – χϡʔεهࣄ
× 2
τοϓϖʔδͷ࡞ 1. ʮίϯςϯπʯʹҠಈ 2. ʮίϯςϯπΛՃʯΫϦοΫ 3. ʮجຊϖʔδʯΫϦοΫ 5. อଘ 4.
λΠτϧͱ ຊจΛฤू
τοϓϖʔδͷ࡞ 6. ࡞ͨ͠τοϓϖʔδͷ ʮ/node/xxʯͱ͍͏URLύεΛίϐʔ͓ͯ͘͠ ͜ΕͰτοϓϖʔδ༻ͷϖʔδ͕Ұͭ࡞Ͱ͖·ͨ͠ɻ ͜ͷϖʔδΛαΠτͷτοϓϖʔδͱೝࣝͤ͞ΔͨΊʹɺ࣍ઃఆΛ͍͡Γ·͢ɻ ઃఆͰඞཁʹͳΔͷͰɺ࡞ͨ͠ϖʔδͷύεΛίϐʔ͓͖ͯ͠·͢ɻ
τοϓϖʔδͷઃఆ 7. ʮڥઃఆʯʹҠಈ 8. ΫϦοΫ 9. ઌ΄Ͳίϐʔͨ͠ URLύεΛϖʔετ 10.
อଘ
τοϓϖʔδͷઃఆ ͜ΕͰɺ࡞ͨ͠ϖʔδ͕αΠτͷτοϓϖʔδͱೝࣝ͞ΕΔΑ͏ʹͳΓ·ͨ͠ɻ αΠτͷϧʔτURLʹҠಈͯ͠ɺઌ΄Ͳ࡞ͨ͠ϖʔδͱಉ͡ϖʔδ͕දࣔ͞Ε͍ͯΔ͔֬ೝ͠·͢ɻ http://xxx.xxx.xxx:xxxx/ ʹΞΫηεʂ
χϡʔεهࣄͷ࡞ τοϓϖʔδ༻ͷϖʔδΛ࡞ͨ࣌͠ͱಉ͡ཁྖͰɺχϡʔεهࣄ࡞ͯ͠Έ·͢ɻ 1. ʮίϯςϯπʯʹҠಈ 2. ΫϦοΫ 3. ΫϦοΫ
4. λΠτϧɺຊจɺ URLΤΠϦΞεͷ3ՕॴΛฤू λΠτϧɿ2݄ͷӦۀ Bodyɿ2݄ɺఆٳʢ༵ʣҎ֎ٳ·ͣ Ӧۀ͠·͢ʂ URLΤΠϦΞεɿ/news/information-february 5. อଘ
χϡʔεهࣄͷ࡞ ޙ΄ͲχϡʔεهࣄͷҰཡϖʔδΛ࡞͢ΔͷͰɺ ಉ͡खॱͰ͏ҰͭϖʔδΛ࡞͓͖ͯ͠·͢ɻ
ϋϯζΦϯखॱ 1. LandoΛ༻͍ͨDrupalϩʔΧϧ։ൃڥߏங ͱDrupalͷΠϯετʔϧ 2. جຊతͳίϯςϯπͷ࡞ํ๏ 3. Ϗϡʔζ(Views)Λ༻ͨ͠
ಈతϦετͷ࡞ 4. ΧελϜίϯςϯπλΠϓΛ࡞Ζ͏ 5. ComposerͱdrushΛ༻͍ͨ ֦ுϞδϡʔϧͷΠϯετʔϧํ๏ 29
Viewsͱ – ΣϒαΠτ্ͷίϯςϯπͷϦετΛ࡞͢Δػೳ – ϑΟϧλϦϯάιʔτɺϑΥʔϚοτʢςʔϒϧܗࣜͳͲʣͷࢦ ఆ͕ߦ͑Δ – ίΞͷViewsϞδϡʔϧϏϡʔͷදࣔΛॲཧ͠ɺίΞͷViews UI ϞδϡʔϧΛ༻ͯ͠ཧը໘͔ΒϏϡʔΛ࡞ɺฤूͰ͖Δ
– ViewsΛ༻ͯ͠දࣔͰ͖Δͷͷྫ – هࣄͷϦετ – ళฮใͷϦετ – αΠτͷ࠷৽ίϯςϯπͷϦετ – αΠτ্ͷϢʔβʔͷϦετ https://www.drupal.org/docs/user_guide/en/views-concept.html
Viewsͷσʔλͷग़ྗܗࣜͷྫ ςʔϒϧܗࣜ άϦου JSON / XML ※ RESTful Web Services
Ϟδϡʔϧ͕ඞཁ ϒϩοΫ HTMLϦετ
ViewsΛͬͯχϡʔεهࣄҰཡϖʔδΛ࡞ 1. ʮαΠτߏஙʯʹҠಈ 2. ʮϏϡʔζʯΫϦοΫ 3. ʮϏϡʔΛՃʯΫϦοΫ Viewsػೳͷ֓ཁ͕Θ͔ͬͨͱ͜ΖͰɺઌ΄Ͳ࡞ͨ͠χϡʔ εهࣄͷҰཡϖʔδΛViewsͰ࡞͠·͢ɻ
ViewsΛͬͯχϡʔεهࣄҰཡϖʔδΛ࡞ 4. Ϗϡʔͷ໊લΛೖྗ 5. ʮهࣄʯΛબ 6. νΣοΫϘοΫεʹνΣοΫ͠ ͯɺPage titleͱύεΛೖྗ
Page titleɿχϡʔε ύεɿnews 7. อଘ 8. αΠτʹΔ
ViewsΛͬͯχϡʔεهࣄҰཡϖʔδΛ࡞ ViewsػೳΛ͏͜ͱͰɺίϯςϯπͷಈతͳϦετΛཧը໘͔Β࡞͢Δ͜ͱ͕ՄೳͰ͢ɻ
ϋϯζΦϯखॱ 1. LandoΛ༻͍ͨDrupalϩʔΧϧ։ൃڥߏங ͱDrupalͷΠϯετʔϧ 2. جຊతͳίϯςϯπͷ࡞ํ๏ 3. Ϗϡʔζ(Views)Λ༻ͨ͠
ಈతϦετͷ࡞ 4. ΧελϜίϯςϯπλΠϓΛ࡞Ζ͏ 5. ComposerͱdrushΛ༻͍ͨ ֦ுϞδϡʔϧͷΠϯετʔϧํ๏ 35
ίϯςϯπΤϯςΟςΟͱ ίϯςϯπΞΠςϜ ίϯςϯπλΠϓ هࣄ ຊจ ຊจ ը૾ λά ίϯςϯπλΠϓ ళฮ
ຊจ ը૾ ి൪߸ ΤϯςΟςΟλΠϓ … ༻్ɺతʹԠͯ͡άϧʔϓԽ ΤϯςΟςΟαϒλΠϓ … ΤϯςΟςΟλΠϓΛࡉԽ ϑΟʔϧυ … ςΩετɺը૾ɺͳͲ ܕͷܾ·ͬͨσʔλɻ࠶ར༻͕Մೳ • τοϓϖʔδ • ձࣾ֓ཁ • ... • ϒϩάهࣄ1 • ϒϩάهࣄ2 • ... • ौ୩ຊళ • ݪ॓ళ • ... ίϯςϯπΤϯςΟςΟ … ߏԽ͞Εͨ୯ҰͷΞΠςϜ … ڞ௨ͷΠϯλʔϑΣʔεͰσʔλͷ ΓͱΓ͕Ͱ͖Δ λΫιϊϛʔ ϘΩϟϒϥϦʔ λά ϘΩϟϒϥϦʔ ΧςΰϦ ը૾ ը૾ • χϡʔε • ৗ • ... ίϯςϯπλΠϓ جຊϖʔδ ςΩετ • ৽ • ਓؾهࣄ • ... ΤϯςΟςΟγεςϜʹΑͬͯɺߏԽ͞ΕͨίϯςϯπΛߏஙͰ͖·͢ɻ
αΠττοϓ ᵓᴷᴷ Ұཡ │ ᵓ λϐΦΧϛϧΫςΟʔ │ ᵓ ຣλϐΦΧ │
└ ... ᵓᴷᴷ ళฮҰཡ │ ᵓ ौ୩ຊళ │ └ ... ᵓᴷᴷ χϡʔε │ ᵓ ৽ͷ͓Βͤ │ └ ... └── ͓͍߹Θͤ ҿ৯ళΣϒαΠτ ʮλϐΦΧ٤ళ ·Δʯ Λྫʹߟ͑ͯΈΑ͏ ίϯςϯπߏͷܭըͷྫ ΤϯςΟςΟ λΠϓ ΤϯςΟςΟ αϒλΠϓ ϑΟʔϧυ ΤϯςΟςΟ ʢར༻ྫʣ ίϯςϯπΞΠςϜ جຊϖʔδ - λΠτϧ - ຊจ - τοϓϖʔδ - ձࣾ֓ཁ ίϯςϯπΞΠςϜ هࣄ - λΠτϧ - ຊจ - ը૾ - λάʢࢀরʣ - ৽ͷ͓Βͤ - Ӧۀ࣌ؒͷ͓Βͤ ίϯςϯπΞΠςϜ ళฮ - ళฮ໊ - ຊจ - ը૾ - ి൪߸ - ौ୩ຊళ - ݪ॓ళ ίϯςϯπΞΠςϜ - ໊ - ຊจ - ը૾ - λϐΦΧϛϧΫςΟʔ - ຣλϐΦΧ λΫιϊϛʔλʔϜ ళฮಛ - ຊจ - றं͋Γ - ݶఆ͋Γ ͓͍߹Θͤ ϑΥʔϜ ΣϒαΠτ ϑΟʔυόοΫ - ϝʔϧΞυϨε - ໊݅ - ϝοηʔδ - ͓͍߹Θͤϖʔδ ϢʔβʔϓϩϑΝΠϧ ʢͳ͠ʣ - χοΫωʔϜ - ϓϩϑΟʔϧࣸਅ αΠτʹඞཁͳίϯςϯπ αΠτϚοϓ
ళฮίϯςϯπλΠϓΛ࡞Ζ͏ 1. ʮαΠτߏஙʯʹҠಈ 2. ʮίϯςϯπλΠϓʯ ΫϦοΫ 3. ʮՃʯΫϦοΫ ి൪߸ϑΟʔϧυɺॅॴϑΟʔϧυΛ࣋ͭʮళฮʯίϯςϯπλΠϓΛࣗ࡞ͯ͠Έ·͢ɻ
·ͣίϯςϯπλΠϓΛՃ͠·͢ɻ
6. ࡞ͨ͠τοϓϖʔδͷ ʮ/node/xxʯͱ͍͏URLύεΛίϐʔ͢Δ 4. ֤छใΛೖྗ ໊લɿళฮใ આ໌ɿళฮใʹؔ͢ΔهࣄͰ͢ɻ λΠτϧϑΟʔϧυͷϥϕϧɿళฮ໊ 6.
อଘ 5. νΣοΫΛ֎͢ ళฮίϯςϯπλΠϓΛ࡞Ζ͏
ళฮίϯςϯπλΠϓΛ࡞Ζ͏ 7. ϑΟʔϧυͷՃ ళฮίϯςϯπλΠϓʹɺి൪߸ϑΟʔϧυΛՃ͍͖ͯ͠·͢ɻ
ళฮίϯςϯπλΠϓΛ࡞Ζ͏ 9. อଘ 8. ֤छใΛೖྗ ৽͍͠ϑΟʔϧυɿςΩετ ʢϓϨʔϯʣ ϥϕϧɿి൪߸ 10.
࠷େΛ20ʹઃఆ 11. อଘ 12. อଘ
ళฮίϯςϯπλΠϓΛ࡞Ζ͏ 13. ϑΟʔϧυͷՃ ళฮίϯςϯπλΠϓʹి൪߸ϑΟʔϧυ͕ՃͰ͖·ͨ͠ɻ ࣍ॅॴϑΟʔϧυΛՃ͍͖ͯ͠·͢ɻ
ళฮίϯςϯπλΠϓΛ࡞Ζ͏ 15. อଘ 14. ֤छใΛೖྗ ৽͍͠ϑΟʔϧυɿςΩετ ʢϓϨʔϯʣ ϥϕϧɿॅॴ 16.
อଘ 17. อଘ
ళฮίϯςϯπλΠϓΛ࡞Ζ͏ ళฮίϯςϯπλΠϓ͕࡞Ͱ͖·ͨ͠ɻ ͜ΕͰɺखॱ2ʮجຊతͳίϯςϯπͷ࡞ํ๏ʯͰ͝հͨ͠Α͏ͳखॱͰ ళฮϖʔδΛ࡞Ͱ͖ͨΓɺViewsΛͬͯళฮҰཡϖʔδΛ࡞ͨ͠ΓͰ͖·͢ɻ ίϯςϯπλΠϓҰཡʹɺ ʮళฮʯίϯςϯπλΠϓ͕Ճ͞Εͨʂ
ϋϯζΦϯखॱ 1. LandoΛ༻͍ͨDrupalϩʔΧϧ։ൃڥߏங ͱDrupalͷΠϯετʔϧ 2. جຊతͳίϯςϯπͷ࡞ํ๏ 3. Ϗϡʔζ(Views)Λ༻ͨ͠
ಈతϦετͷ࡞ 4. ΧελϜίϯςϯπλΠϓΛ࡞Ζ͏ 5. ComposerͱdrushΛ༻͍ͨ ֦ுϞδϡʔϧͷΠϯετʔϧํ๏ 45
Ϟδϡʔϧͱ – খ͞ͳػೳͷ୯Ґ – ෳϞδϡʔϧΛΈ߹ΘͤͯαΠτΛߏங – 3ͭͷछྨʹྨ – ίΞϞδϡʔϧ
– ίΞ։ൃऀ͕ཧ͢Δ – ඪ४ػೳෳͷϞδϡʔϧͰߏ – ྫʣϒϩοΫɺviews(ΫΤϦϏϧμʔ) ϑΟʔϧυɺݕࡧɺϢʔβʔཧ...etc – ίϯτϦϏϡʔτϞδϡʔϧ – ίϯτϦϏϡʔλʔ͕ཧ͢Δ – 4ສݸҎ্ͷެ։Ϟδϡʔϧ https://www.drupal.org/project/project_module – ΧελϜϞδϡʔϧ – ֤ϓϩδΣΫτͷͨΊʹಠࣗͰ։ൃ͢Δ ϞδϡʔϧʑϨΰϒϩοΫʹྫ͑ΒΕΔ
ϞδϡʔϧͷΠϯετʔϧํ๏͍Ζ͍Ζ 1. Drupalͷཧը໘͔Βߦ͏ 2. खಈͰίʔυϕʔεʹஔ͢Δ 3. ComposerͰߦ͏ɹɹɹ← ࠓճઆ໌͠·͢ ίϯτϦϏϡʔτϞδϡʔϧͷμϯϩʔυํ๏৭ʑ༻ҙ͞Ε͍ͯ·͕͢ɺ
ࠓճComposerͰߦ͏ํ๏Λհ͠·͢ɻ
ComposerͰϞδϡʔϧΛΠϯετʔϧ͢Δ 1. ϞδϡʔϧͷϓϩδΣΫτϖʔδͷ όʔδϣϯ൪߸ΛΫϦοΫ 2. ComposerͰμϯϩʔυ͢Δ߹ͷίϚϯυྫΛ֬ೝ
3. DrupalͷϓϩδΣΫτϧʔτʹҠಈ͠ɺ࣍ͷίϚϯυΛ࣮ߦ $ composer require 'drupal/admin_toolbar:^3.0' ʢ༨ஊʣLandoڥͰίϚϯυͷ಄ʹ lando Λ͚ͭͯɺ࣍ͷίϚϯυͰ࣮ߦͰ͖·͢Αʂ $ lando composer require 'drupal/admin_toolbar:^3.0' ʮAdmin ToolbarʯϞδϡʔϧΛྫʹࢼͯ͠Έ·͢ɻ ※DrupalϓϩδΣΫτϧʔτʹcomposer.json͕ଘࡏ͢Δ͜ͱ͕લఏ ※composerίϚϯυ͕༻Ͱ͖Δ͜ͱ͕લఏ
Ϟδϡʔϧͷ༗ޮԽ 1. Drupalͷཧը໘͔Βߦ͏ 2. DrushͰߦ͏ ←ͬͪ͜Ͱઆ໌ ཧը໘͔Βߦ͏ํ๏͋Γ·͕͢ɺ ࠓճDrushίϚϯυͰߦ͏ํ๏Λհ͠·͢ɻ 1.
༗ޮԽ͍ͨ͠ϞδϡʔϧͷʮϚγϯ໊ʯΛ֬ೝ Ϛγϯ໊ϓϩδΣΫτϖʔδͷURL͔ΒผͰ͖·͢ https://www.drupal.org/project/admin_toolbar 2. DrupalͷϓϩδΣΫτϧʔτʹҠಈ͠ɺ࣍ͷίϚϯυΛ࣮ߦ $ vendor/bin/drush pm:enable admin_toolbar ʢ༨ஊʣLandoڥͰ࣍ͷίϚϯυͰ࣮ߦͰ͖·͢Αʂ $ lando drush pm:enable admin_toolbar DrushίϚϯυͰߦ͏Ϟδϡʔϧͷ༗ޮԽ ઌ΄Ͳμϯϩʔυͨ͠ʮAdmin ToolbarʯϞδϡʔϧΛ༗ޮԽ͠·͢ɻ ※DrushίϚϯυ͕༻Ͱ͖Δ͜ͱ͕લఏ
ϋϯζΦϯखॱ 1. LandoΛ༻͍ͨDrupalϩʔΧϧ։ൃڥߏங ͱDrupalͷΠϯετʔϧ 2. جຊతͳίϯςϯπͷ࡞ํ๏ 3. Ϗϡʔζ(Views)Λ༻ͨ͠
ಈతϦετͷ࡞ 4. ΧελϜίϯςϯπλΠϓΛ࡞Ζ͏ 5. ComposerͱdrushΛ༻͍ͨ ֦ுϞδϡʔϧͷΠϯετʔϧํ๏ 50
ϋϯζΦϯ֓ཁ ॳ৺ऀ͚ɾϊϯίʔσΟϯάͰ γϯϓϧͳҿ৯ళ(ΧϑΣ)αΠτΛ࡞͠·͢ ॴཁ࣌ؒɿ1.5࣌ؒʙ2࣌ؒ 51 ϋϯζΦϯͰߦ͑ΔΑ͏ʹͳΔ͜ͱ • DrupalϩʔΧϧڥߏங •
ϕʔγοΫͳίϯςϯπཧ • Viewsػೳ • ΧελϜίϯςϯπλΠϓͷ׆༻ • ֦ுϞδϡʔϧͷΠϯετʔϧͱ༗ޮԽ • DrushίϚϯυ
ϋϯζΦϯ֓ཁ 52 ϋϯζΦϯͰ৮Εͳ͔ͬͨػೳ • ϒϩοΫγεςϜ • λΫιϊϛʔ • ଟݴޠ •
Ϣʔβʔཧɺϩʔϧݖݶ • ϫʔΫϑϩʔ • ϝσΟΞཧ • REST API • ߏཧ • etc... ॳ৺ऀ͚ɾϊϯίʔσΟϯάͰ γϯϓϧͳҿ৯ళ(ΧϑΣ)αΠτΛ࡞͠·͢ ॴཁ࣌ؒɿ1.5࣌ؒʙ2࣌ؒ ϋϯζΦϯͰߦ͑ΔΑ͏ʹͳΔ͜ͱ • DrupalϩʔΧϧڥߏங • ϕʔγοΫͳίϯςϯπཧ • Viewsػೳ • ΧελϜίϯςϯπλΠϓͷ׆༻ • ֦ுϞδϡʔϧͷΠϯετʔϧͱ༗ޮԽ • DrushίϚϯυ
ࢀߟࢿྉ • Drupal.org ެࣜαΠτ https://drupal.org • ʲຊޠʳDrupal5νϡʔτϦΞϧhttps://www.youtube.com/playlist? list=PLVkpj3GMKNm04iyK8K8T8aQ-e86YVvCQE •
ʲӳޠʳDrupal5νϡʔτϦΞϧ https://www.youtube.com/playlist?list=PLpVC00PAQQxHzlDeQvCNDKkyKRV1G3_vT • ΞΫΠΞೝఆαΠτϏϧμʔࢼݧରࡦߨ࠲ https://www.youtube.com/playlist?list=PLVkpj3GMKNm3e6TF1pOiCQHkF0YULJrJe • ʲCodeZineʳDrupal 9Ͱ࢝ΊΔWebαΠτ։ൃೖhttps://codezine.jp/article/ corner/819 53
ࢀߟࢿྉ • Drupal 9 Web։ൃ͜ͱ͡Ί (ٕज़ͷઘγϦʔζ) https://www.amazon.co.jp/dp/B0922326NR 54
55