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ハンズオン / Drupal hands-on for B...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
アクイアジャパン 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
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
S3 を使うアプリケーションをローカル完結で動かすことに全力を注いでみた / Running S3 Apps Offline
contour_gara
0
460
Flow は今どうなっているか
mizdra
PRO
0
210
VibeCodingからAgenticWorkflowへ
starfish719
0
430
AIが無かった頃の素敵な出会いの話
codmoninc
1
420
「人を評価する AI」の設計と実装
ryoyanara
0
200
JAWS-UG横浜 #102 AWSサ終供養LT会 成仏できない AWS サービスたち 〜本日、三体供養します〜
maroon1st
0
360
夏だ!祭りだ!祭りとはドメインモデリングでは?
ryugen04
0
250
実装をデザインガイドラインに追従させるための取り組み / 260731-dip-mosh-design-system
dachi023
0
440
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
560
FDEが実現するAI駆動経営の現在地
gonta
2
280
ドリフトを絶対に許さない(?)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
Test your architecture with Archunit
thirion
1
2.3k
Technical Leadership for Architectural Decision Making
baasie
3
470
We Have a Design System, Now What?
morganepeng
55
8.3k
Chasing Engaging Ingredients in Design
codingconduct
0
270
sira's awesome portfolio website redesign presentation
elsirapls
0
320
Docker and Python
trallard
47
4.1k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
エンジニアに許された特別な時間の終わり
watany
108
250k
Music & Morning Musume
bryan
47
7.3k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
890
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
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