[ECCUBE4(symfony3)]言語切替プラグインを作ってみた
こんにちは!
kamotetuと申します
久しぶりの投稿になります
今回はタイトルの通りECCUBE4でフロントから言語切替できるプラグインを作ってみたということで紹介したいと思います。
↓リポジトリ
CrossBorder1
eccubeの対応バージョンは4.0.4 ~ 4.0.5で、4.0.3では動かないことを確認しています
ということでgithubに公開しましたのでよかったら試してみてください!
(試作品ですので完全自己責任のもと利用してください!)
画像は商品登録ですが、他にもタグやカテゴリなどもできます(出来なかったらすいません!)
正直プラグイン開発の練習ということで去年の秋ごろまで作ってたものなのですが、githubのreadmeにも書いてある通り危ない箇所がたくさんあったので途中で開発を中止したものになります
なんで今頃公開したかというと、eccubeのQ&Aサイトに多言語化にする方法の質問があったというのと、開発当時(今も)情報がほとんどなくて非常に頭を悩ませながら作った思い出があったのでコードを含め紹介しようと思い記事にしました
ちなみに、当時参考にした記事はこれらになります
今回プラグインということで、紐付けたいentity(商品テーブルなど)のフィールドにアノテーションを追加することが出来なかったので(やり方あるのかな?)【EC-CUBE4】DoctrineExtensionsでEC-CUBEのDBを多言語化するを参考に似たようなentityを作成して無理やり保存させるやり方を行いました
それで、コードの説明もしたいところですが、ファイルの数も多いので主要な処理をしているファイルとアクションだけご紹介します
ヘッダーの言語選択で多言語にしている処理
public function onKernelRequest(GetResponseEvent $event)
{
...
}
多言語保存処理
public function postFlush(PostFlushEventArgs $args)
{
...
}
是非githubからダウンロードしてデバッグなどして確認してみてください
作りは非常に力技の部分が多いですが、多言語化カスタマイズしようと思っている方の参考になれば幸いです!
Author And Source
この問題について([ECCUBE4(symfony3)]言語切替プラグインを作ってみた), 我々は、より多くの情報をここで見つけました https://qiita.com/kamotetu/items/7a98e0b4863b288daa15著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .