カタログページのソートエクステンションを作る方法(2)
この記事は公開から 1年以上が経過しています。現在の最新情報との整合性については弊社では一切の責任を負いかねます。
この記事は、カタログページのソートエクステンションを作る方法(1)の続きです。
前回の記事はこちら「エクステンションを作る準備〜Pluginを作成」
di.xmlを作成
di.xmlに書けるタグはいろいろありますが、(参考 Magento 2 - What case I use di.xml and How to use di.xml for module?)
今回はPluginタグを使います。
Veriteworks/SortOrder/etc/di.xml
- typeタグに、拡張元メソッドのあるファイルを追加
- pluginタグのtype属性には、自分が作成した拡張メソッドのあるファイルを追加
<?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> <type name="Magento\Catalog\Block\Product\ProductList\Toolbar"> <plugin name="custom_custom_block_toolbar" type="Veriteworks\SortOrder\Plugin\Catalog\Block\Product\ProductList\Toolbar" /> </type> <type name="Magento\Catalog\Model\Config"> <plugin name="custom_catalog_model_config" type="Veriteworks\SortOrder\Plugin\Catalog\Model\Config" /> </type> </config>
di.xmlの作成が終わりました。それでは、setup:upgradeコマンドとcache:cleanコマンドを実行してカタログページを確認してみましょう。
ソート方法が今回指定した新着順・値段昇順・値段降順に変わっているのがわかり、それぞれちゃんと機能することがわかります。
しかし、表記が英語のままとなっているので、日本語に変えたいと思います。
和訳ファイルを作成
- __('ABC')このような記述をすることで、ABCが翻訳できるようになる
- 今回はConfig.phpの文字列を翻訳する
Veriteworks/SortOrder/i18n/ja_JP.csv
"New to Old","新着順"
"Low to High","安い順"
"High to Low","高い順"
キャッシュを消して確認してみます。
日本語表記になりました。正常にソートされています。
まとめ
本記事では、Pluginを使ったソートエクステンションを作成しました。Magentoの機能を拡張したいときは、Pluginを使って拡張ができます。
ソースコードはこちら https://github.com/Veriteworks/SortOrder
カテゴリ
- お知らせ (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)
最近の投稿
アーカイブ