ECCUBE3
一時的に、配送方法を制限したいという要望。 標準の機能では、配送方法を停止する機能はないらしい。また、カスタマイズ等で実現する方法を探ってみたが、変なところで処理を挟むとあちこちに影響が出そうで、これという方法がない。 結局、MySQLのテーブル…
どうやらユーザー側からは打つ手なし。登録はメールアドレス重複で弾かれ、ログインはパスワードで弾かれ、パスワードリセットメールアドレスは届かないという三重苦。この辺ももうちょっとなんとかならないものか ……ECCUBE4で改善されてるといいけど。 管理…
目次 目次 環境 手順など root_urlpathも危険。 環境 [EC-CUBE] EC-CUBE3.0.16 手順など しばらく前から、管理画面の中の「コンテンツ管理」「キャッシュ管理」の表示が変になっていた。 translator以外のチェック項目が消えてしまっていたのだ。 キャッシュ…
ちょっと行き詰まったところがあったのでご紹介がてら。 目次 目次 環境 手順など 環境 [EC-CUBE] EC-CUBE3.0.16 手順など テンプレートイベントのformの値にアクセスする際、なかなか思ったようにいかなかったので、正解はこんな形だったというメモ。 欲し…
Symfony2のフォームの仕組みはけっこう複雑だ。 FormType 、FormBuilder、FormViewといった段階的なフォーム生成 ModelData、NormData、ViewDataという三段階のデータ構造 handleRequest() した後は値を変更できない Entity のプロパティとのひもづけ 関与す…
以下のメモは、まだECCUBE3のことをよくわかっていなかった時に書いたもの。とはいえ今でもまだ頭がよく整理できていない。 「フィールドグループに追加のフィールドを含んではなりません」と言われてしまう件について。 環境 [EC-CUBE] EC-CUBE3.0.16 prope…
目次 目次 環境 文字列の比較ってどうするんだろう? 参考記事 ~ 環境 Twig 文字列の比較ってどうするんだろう? テンプレート内で文字列を比較しようとして、はたと困った。 Twigの中でifが使えるのは分かっていたが、比較はどうやるんだっけ。 == を使うの…
目次 目次 環境 共通フックポイント Controllerからdispatchされるフックポイント テンプレートフックポイント テンプレートフックポイント まとめ 参考記事 環境 [EC-CUBE] EC-CUBE3.0.16 フックポイントはプラグインから本体の挙動に手を加える重要なポイ…
ECCUBE3 のデフォルトでは、ログインしているかどうかがわかりづらい。 ログイン中、アイコンの色を変えてみる。 SVGファイルで形状を規定しているファイル。 html/template/default/img/common/svg.html CSSで色など規定しているファイル。 html/template/d…
新しく商品を追加する時に、ClassCategory1がなくて怒られたので、追加処理を書いた。 環境 [EC-CUBE] EC-CUBE3.0.16 [PHP] 5.6.36 [データベース] MySQL 5.7.16 手順など $ClassName = $app['eccube.repository.class_name']->find(1);//idは例 $ClassCateg…
という話。 問い合わせメールの内容を変更していたのだけれど、改行が適用されたりされなかったりする。 ************************************************ ご請求金額 ************************************************ ご注文番号:{{ Order.id }} お支…
一時的にサイトの機能をクローズしておくことを俗に「メンテナンスモード」などと呼ぶ。 ECCUBE3標準ではこの機能はない。 目次 目次 環境 htaccess を書き換える 環境 [EC-CUBE] EC-CUBE3.0.16 [レンタルサーバ] さくらインターネット htaccess を書き換え…
私がECCUBE3の開発をしていて「ええっ」と思った仕様を挙げておく。 目次 目次 環境 「数量変更」ボタンの機能はカートに戻されるだけ FaxTypeというFormTypeは存在しない メールのSubjectはMailService.phpで変更する CustomerAddressは顧客住所ではなく配…
ShoppingControllerの中で、配送先(CustomerAddress)がどのようにセットされているか、調べてみた。 目次 目次 受注ステータスがorder_processingの受注を取得 is_null(order_processing)の場合 getShippingFormBuilder($Order) builder->getForm() 結論 …
目次 目次 環境 手順など 合計金額が合わない 環境 [EC-CUBE] EC-CUBE3.0.16 手順など 何度やってもうまくいかず苦労した。手強い。 /* $eventから受注データを取り出す */ $order = $event->getArgument('Order'); $deliveryFee = $this->getDeliveryFee($o…
環境 [EC-CUBE] EC-CUBE3.0.16 開発中にサーバーを変えたりすると、dbのマイグレーションの関係で、けっこう頻繁に管理画面に入れなくなったりする……。 以前の解決方法 前回はこちらのやり方で解決した気がする。 【3.0.15】管理者パスワードを忘れた時に管…
目次 目次 環境 event.yml EVENTファイル 受注確認のメールにプラグインから手を入れたい。普通のテンプレートイベントと似て少々異なるので、手順を調べるのに戸惑った。イベントmail.orderをフックする。共通フックポイントとか呼ばれるものらしい。一次資…
faxタイプはtelタイプでもある。 TelTypeExtensionで、->remove('tel02')->remove('tel03')->add('tel01','tel',array())をしてみたら、なぜかfaxの中にもtel01が追加されている。 試しにTelTypeExtensionの->add('tel01','tel',array())を削除してみたらfax…
数字の誤読を防ぐために英語圏では、数字を英単語で綴る、という文化がある。WordingとかSpellOutとか呼ぶようだ。 海外送金などでは大きな金額を間違えずに英単語で書かされる場合もあり、けっこう面倒くさい。 ECCUBE3 の英語化にあたりSpellOutの要望があ…
index_dev.php/を介したデバッグモードでは全ページ問題なくアクセスできるが、通常モードにすると404エラーになる、という現象に遭遇して焦った。 目次 目次 環境 結論から 環境 [EC-CUBE] EC-CUBE3.0.16 [レンタルサーバ] XServer [PHP] 5.6.36 [データベ…
外部URLから画像を取得して製品画像として登録したい。file_get_content()で画像を取得することにした。 Admin/ProductController.phpのadd_image()とedit()を参考に進める。 Admin/ProductController.php 217行目付近では、画像データがPOSTされてきて、Upl…
Requirements ECCUBE3.0.16 Symfony2.7.28 PHP5.6.38 PHPから商品登録 PHPファイルから商品登録をさせるためにあれこれ調べる。 persist()がわからなかったので、Symfony2のORMに関する記述を読む。 Databases and the Doctrine ORM (Symfony Docs) persist(…
フォーム フォームの扱いは、私のようにフレームワークに不慣れな人間からするとだいぶこみ入っている。 ただ、きちんと把握すれば、データベースからフロントエンドまできちんと繋がり、ハンドリングにも手間がない、はずだ。ただECCUBE3ではかなりフォーム…
目次 目次 Requirements Twig キャッシュ 追記)PHPからキャッシュを削除する 継承 変数の展開 配列の展開 Twig テンプレートファイルの設置場所 オリジナル 修正用 プラグイン用 プラグインのテンプレートをカスタマイズする。 余談 Twigテンプレートに値を…
目次 目次 Requirements プラグインにできること HTTPリクエスト、Routingをきっかけに処理する イベント、フックポイントをきっかけに処理する サービスを提供し、呼び出された時に処理する インストール時等に処理をする プラグイン実装の参考記事 プラグ…
ECCUBE3を開発していて悩まされるのがキャッシュ。 デバッグ環境(index_dev.php経由でのアクセス)を使えばキャッシュは無視してくれるんだけれど、顧客で確認してもらう前にいちいち管理画面でキャッシュを削除しないといけないし、先方から来た修正をその…
Requirements [EC-CUBE] EC-CUBE3.0.16 現象 デバッグモード(https://some.site.com/index_dev.php)ではCSSが適用されているのに、デバッグモードを外す(https://some.site.com/)とCSSが適用されない。 Chromeの開発者ツールで確認すると、デバッグモード…
前の記事では、ECCUBE3を始めるにあたって知っておいた方がましなこと、を書いた。 今回は全体の概要。 目次 目次 Requirements インストール時のディレクトリ構成 appディレクトリ htmlディレクトリ srcディレクトリ vendorディレクトリ 各クラスの役割を理…
目次 目次 Requirements ここは、初心者に優しいECCUBE3のページ。 環境 対象読者 ECCUBE3 のつらみ ECCUBE3 のカスタマイズ 本体をいじりたくない ECCUBE3を教材にして、Synfony2を学ぶ デバッグ デバッグモードを使えるようにする デバッグモードでの注意…
商品登録画面で規格1と規格2が両方表示されてしまう 規格1だけにしたい。根本的な削除はめんどくさそうだったのでとりあえず非表示にする。 規格2を非表示にする方法 src/Eccube/Resource/template/admin/Product/product_class.twigをapp/template/admin/Pr…