Magentoで選択できるページレイアウトを増やす方法
この記事は公開から 1年以上が経過しています。現在の最新情報との整合性については弊社では一切の責任を負いかねます。
Magentoには標準で何パターンかのページレイアウトが用意されています。
通常はこれらのページレイアウトの中から、ページの用途・目的に合わせたものを選択してページを作成します。
ところが、ページのデザインであったり、コンテンツの配置の仕方によっては、既存のレイアウトだけではどうしても対応しきれないパターンが出てきます。
このエントリではオリジナルのページレイアウトを追加し、より柔軟なコンテンツ作成をする方法をご紹介します。
ページレイアウトとは
ページレイアウトとは、基本的なページのマークアップとコンテンツの配置割付ができているテンプレートです。
Magentoには標準で以下の7種類のページレイアウトが用意されています。
- 1カラム
- 2カラム左ナビ付き
- 2カラム右ナビ付き
- 3カラム
- 空
- ポップアップ
- 印刷
このうち管理画面でページレイアウトとして選択できるものは、ポップアップと印刷を除いた5種類です。
ページレイアウトを管理者が指定できる箇所
標準のMagentoでは管理者がページレイアウトを指定できる箇所は限られています。
以下の3箇所です。
- 商品ページ
- カテゴリページ
- CMSページ
それ以外のページでもページレイアウトは普通に使用されているのですが、管理者が自分の意志で変更することはできません。
常にレイアウトXML上に定義されたページレイアウトが使われるため、変更したい場合はレイアウトXMLの調整が必要です。
(エクステンションの導入によっては可能になるかもしれませんが、あくまでも標準に限った話です)
ページレイアウトを増やすには
ページレイアウトを増やすためには以下の順に作業が必要です。
- テンプレートの作成
- レイアウトXMLの定義を作成
- config.xmlの作成
テンプレートの作成
まず最初にページレイアウトの元になるテンプレートを作ります。
ページレイアウトのファイルは
app/design/frontend/<パッケージ名>/<テーマ名>/template/page/
に作成します。
他のディレクトリに作っても構いませんが、他のテンプレートと場所を揃えたおいたほうが管理する上では良いでしょう。
ここでは1column.phtmlをベースにして、custom.phtmlを作成します。
レイアウトXMLの定義を作成
次にレイアウトXMLにページレイアウトの定義を追加します。
app/design/frontend/<パッケージ名>/<テーマ名>/layout/
にlocal.xmlを作成し、以下の記述を追加します。
page/custom.phtml 1 custom
config.xmlの作成
最後にここまで作成した内容を利用する設定を定義します。
エクステンションとして実装しておけば、Magento本体のアップデートや、エクステンションのアップデートでも影響を受けません。
エクステンションの作り方についてはこのエントリでは触れませんが、エクステンションに欠かせない定義ファイルである、config.xmlのglobalスコープに、以下の記述を追加します。
page/custom.phtml custom
最後にMagentoのキャッシュをクリアし、CMSページなどの編集画面で、ページレイアウト選択を確認して、追加したレイアウトが表示されていればOKです。
- お知らせ (34)
- Magento Open Source (169)
- Adobe Commerce (86)
- Magentoトピックス (349)
- Magentoバージョンアップ (11)
- OroCommerce (1)
- AkeneoPIM (16)
- Shopware (26)
- 世界のプライバシー保護規制 (11)
- OroCRM (14)
- Typo3 (9)
- イベント (27)
- Mage-OS (1)
- エクステンションリリース情報 (75)
- Mautic (1)