【EC-CUBE4】ゲスト購入後に会員登録できるフォームを用意する
EC-CUBE4でゲスト購入したユーザーに会員登録を促すフォームを用意する方法です。 今回のコードはサンプルです。本番で使用する際は自己責任でお願いします。 ゲスト購入後に会員登録するFormTypeを用意 ゲスト購入完了ページにはパスワードを除く必要な会員情報が受注データに保持されているので、今回はパスワードを登録してもらうフォームを用意します。...
View Article【EC-CUBE4】商品一覧ページのテンプレートを差し替えるプラグインを作る方法
EC-CUBE4の商品一覧のテンプレートをプラグインで用意したテンプレートに差し替える方法です。 まずは以下のコマンドでプラグインの雛形を作ります。 プラグインコードはなんでも良いのですが、今回は「ChangeTemplate」にしてください。 bin/console eccube:plugin:generate テンプレートを用意...
View Article【EC-CUBE4】お問い合わせ内容をデータベースに保存する方法
EC-CUBE4でお問い合わせ内容をデータベースに保存する方法です。 ※下記ソースコードはPHP7.1以上を対象としています。 Contactエンティティを用意 まずお問い合わせ内容を保存するため、Cusotomize/Enitiyディレクトリ内にContact.phpというファイル名で下記のソースコードを設置してください。 <?php namespace Customize\Entity;...
View Article【EC-CUBE4】商品一覧ページのキャッシュ時間を変更する方法
EC-CUBE4の商品一覧ページではDoctrineで取得した商品データを10秒間キャッシュしています。そのキャッシュ時間を変更する方法です。 設定は以下のファイルで行います。 app/config/eccube/packages/eccube.yaml 上記ファイルの以下の部分の値を変更すると商品一覧ページなどのキャッシュ時間が変更されます。...
View ArticleEC-CUBE4で特定の都道府県のみ送料無料条件の適用を外す方法
EC-CUBE4で特定の都道府県のみ送料無料条件の適用を外す方法です。 以下のDeliveryFeeFreeByShippingPreprocessor.phpをCustomize/Service/PurchaseFlow/Processorディレクトリに設定して下さい。 <?php /* * Copyright (C) 2019 Akira Kurozumi...
View Article【EC-CUBE4】メーカーで絞り込みをする方法
EC-CUBE4にメーカープラグインを入れて、商品検索機能でメーカーで絞り込みをする方法です。 メーカーIDで絞り込めるようにSearchProductTypeを拡張 メーカーIDを商品絞り込み対象にするためSearchProductTypeを以下のように拡張します。 <?php /* * Copyright (C) 2019 Akira Kurozumi...
View Article【EC-CUBE4】カートへ入れるボタンの文言を管理画面のCSS管理で変更する方法
【EC-CUBE4】カートへ入れるボタンの文言をCSSで変更する方法です。 管理画面のCSS管理に以下のコードを追加して下さい。 /* カスタマイズ用CSS */ button.ec-blockBtn--action { font-size:0; } button.ec-blockBtn--action:before { font-size:14px; content: "カートへどうぞ!"; }...
View Article【EC-CUBE4】商品CSV登録(CSVインポーター)で商品別税率も登録できるよう対応する方法
【EC-CUBE4】商品CSV登録で商品別税率も登録できるよう対応する方法です。 Customizeディレクトリに以下のファイルを設置してください。 細かい動作チェックはしていませんのでバグや実装漏れ等がありましたらコメントにてお知らせ頂けたら対応します。 <?php /* * Copyright (C) 2019 Akira Kurozumi <info@a-zumi.net>....
View Article【EC-CUBE4】Customize領域に翻訳ファイルを設置して本体やプラグインの翻訳を上書きする方法
EC-CUBE4のCustomize領域に翻訳ファイルを設置して本体やプラグインの翻訳を上書きする方法です。 translation.yamlにパスを追加 以下にあるtranslation.yamlに以下のようにパスを追加して下さい。 app/config/eccube/packages/translation.yaml framework: default_locale: '%locale%'...
View Article【EC-CUBE4】WordPressのContact Form 7とVue.jsを使ってお問合せフォームを作る方法
WordPressのContact Form 7とVue.jsを使ってEC-CUBE4でお問合せフォームを作る方法です。 WordPressにContact Form 7をインストールしてお問合せフォームを作成 WordPressにContact Form 7というプラグインをインストールして、コンタクトフォームを新規作成して下さい。...
View Article[EC-CUBE4]ブロックでWordPressの記事一覧を表示する方法
EC-CUBE4のブロックでWordPressの記事一覧を表示する方法です。 Twig関数を用意 まずはWordPressのREST APIを取得するTwig関数を用意します。 <?php namespace Customize\Twig\Extension; use GuzzleHttp\Client; use Twig\Extension\AbstractExtension; use...
View Article【EC-CUBE4】コントローラーで{{ asset(‘file.jpg’, ‘save_image’) }}みたいにassetsの画像パスを取得する方法
コントローラーで使うことはほとんどないかもしれませんが、フォームなどで画像パスを設定したいときに使えるかもしれません。 取得方法は以下のとおりです。 $this->container->get("assets.packages")->getPackage('save_image')->getUrl("file.jpg") (adsbygoogle =...
View Article【EC-CUBE4】商品に商品規格を新規で設定するページの商品規格名に管理名を追加する方法
EC-CUBE4の商品に商品規格を新規で設定するページの商品規格名に管理名を追加する方法です。 以下のページに、 以下のように商品規格管理名を表示させます。 Customizeディレクトリに以下のProductClassMatrixTypeExtension.phpを設置してください。 <?php namespace Customize\Form\Extension; use...
View Article【EC-CUBE4】販売価格が変更されたときに何かする方法
EC-CUBE4で販売価格が変更されたときに何かする方法です。 Doctrineのイベントを使えばデータ変更の検知などいろんなことが出来ます。 サンプルコードは以下のとおりです。 <?php namespace Customize\Doctrine\EventSubscriber; use Doctrine\Common\EventSubscriber; use...
View Article【EC-CUBE4】商品ごとに送料無料設定して購入手続き中に送料無料商品が含まれていたら送料無料にする方法
EC-CUBE4で商品ごとに送料無料設定して購入手続き中に送料無料商品が含まれていたら送料無料にする方法です。 dtb_productテーブルに送料無料フラグカラムを追加 送料無料商品があるか判定するために、dtb_productテーブルに送料無料フラグカラムを追加します。 サンプルコードは以下のとおりです。 <?php namespace Customize\Entity; use...
View Article【EC-CUBE4】新着商品ブロックの商品一覧を動的に取得する方法
EC-CUBE4の新着商品ブロックの商品一覧を動的に取得する方法です。 デフォルトの新着商品ブロックの商品一覧は静的なので動的に出力するようにして自動で新着商品を表示するようにします。 新着商品を取得するTwig関数を作成 新着商品を取得するTwig関数を作成します。 サンプルコードは以下のとおりです。 <?php namespace Customize\Twig\Extension; use...
View Article【EC-CUBE4】会員登録完了時にポイントを付与する方法
EC-CUBE4で会員登録完了時にポイントを付与する方法です。 サンプルコードは以下のとおりです。 会員登録完了時に1000ポイント付与しています。 <?php namespace Customize\EventSubscriber; use Doctrine\ORM\EntityManagerInterface; use Eccube\Entity\Customer; use...
View Article【EC-CUBE4】商品に販売期間を設定する方法
EC-CUBE4で商品に販売期間を設定する方法です。 販売期間を設定していて販売期間内の商品のみ商品一覧と商品詳細ページに表示させるようにします。 dtb_productテーブルに販売開始日時と販売終了日時カラムを追加 dtb_productテーブルに販売開始日時と販売終了日時カラムを追加します。 サンプルコードは以下のとおりです。 <?php namespace...
View Article【EC-CUBE4】在庫が切れた商品をメールで通知する方法
EC-CUBE4で在庫が切れた商品をメールで通知する方法です。 サンプルソースは以下のとおりです。 <?php namespace Customize\EventSubscriber; use Eccube\Entity\BaseInfo; use Eccube\Entity\Order; use Eccube\Event\EventArgs; use...
View Article【EC-CUBE4】商品ごとに購入年齢制限を設定する方法
EC-CUBE4で商品ごとに購入年齢制限を設定する方法です。 dtb_productテーブルに年齢制限カラムを追加 dtb_productテーブルに年齢制限カラムを追加します。 サンプルコードは以下のとおりです。 <?php namespace Customize\Entity; use Doctrine\ORM\Mapping as ORM; use...
View Article