GithubHelp home page GithubHelp logo

ec-cube / ec-cube3 Goto Github PK

View Code? Open in Web Editor NEW
13.0 13.0 23.0 76.32 MB

EC-CUBE official repository version 3

Home Page: https://www.ec-cube.net/

License: Other

PHP 75.66% Shell 0.16% CSS 4.03% HTML 1.66% JavaScript 1.34% Twig 17.15% Procfile 0.01%

ec-cube3's Introduction

EC-CUBE 4.3

Unit test for EC-CUBE E2E test for EC-CUBE Plugin test for EC-CUBE PHPStan codecov

Slack

4.1からの更新内容はリリースノートをご確認ください。

  • 本ドキュメントはEC-CUBEの開発者を主要な対象者としております。
  • パッケージ版はEC-CUBEオフィシャルサイトで配布しています。
  • カスタマイズやEC-CUBEの利用、仕様に関しては開発コミュニティをご利用ください。
  • 本体開発にあたって不明点などあればIssueをご利用下さい。
  • EC-CUBE 3系の保守については、 EC-CUBE/ec-cube3にて開発を行っております。
  • EC-CUBE 2系の保守については、 EC-CUBE/ec-cube2にて開発を行っております。

インストール

EC-CUBE 4.2のインストール方法

開発ドキュメントの インストール方法 の手順に従ってインストールしてください。

CSS の編集・ビルド方法

Sass を使用して記述されています。 Sass のソースコードは html/template/{admin,default}/assets/scss にあります。 前提として [https://nodejs.org/ja/] より、 Node.js をインストールしておいてください。

以下のコマンドでビルドすることで、 html/template/**/assets/css に CSS ファイルが出力されます。

npm ci # 初回およびpackage-lock.jsonに変更があったとき
npm run build # Sass のビルド

docker compose を使用している場合は以下のコマンドを実行してください

# 初回およびpackage-lock.jsonに変更があったとき
docker compose -f docker-compose.yml -f docker-compose.dev.yml -f docker-compose.nodejs.yml run --rm -T nodejs npm ci
# Sass のビルド
docker compose -f docker-compose.yml -f docker-compose.dev.yml -f docker-compose.nodejs.yml run --rm -T nodejs npm run build

JavaScript のビルド方法

フロントエンドで使用する JavaScript のライブラリは npm で管理されています。 JavaScript のライブラリは webpack でバンドル/minifyされます。 バンドルするライブラリを変更する場合は、テンプレートごとに以下の bundle.js を修正し、リビルドしてください。

npm ci # 初回およびpackage-lock.jsonに変更があったとき
npm run build # Sass 及び JavaScript のビルド

JavaScript ライブラリのみをビルドしたい場合は以下でも可能です。

npx webpack

docker compose を使用している場合は以下のコマンドを実行してください

# 初回およびpackage-lock.jsonに変更があったとき
docker compose -f docker-compose.yml -f docker-compose.dev.yml -f docker-compose.nodejs.yml run --rm -T nodejs npm ci
# Sass のビルド
docker compose -f docker-compose.yml -f docker-compose.dev.yml -f docker-compose.nodejs.yml run --rm -T nodejs npm run build
# JavaScript ライブラリのみのビルド
docker compose -f docker-compose.yml -f docker-compose.dev.yml -f docker-compose.nodejs.yml run --rm -T nodejs npx webpack

動作確認環境

  • Apache 2.4.x (mod_rewrite / mod_ssl 必須)
  • PHP 7.4.x / 8.0.x / 8.1.x
  • PostgreSQL 10.x or higher / MySQL 5.7.x or 8.0.x
  • ブラウザー:Google Chrome

詳しくは開発ドキュメントの システム要件 をご確認ください。

ドキュメント

EC-CUBE 4.x 系の仕様や手順、開発Tipsに関するドキュメントを掲載しています。 修正や追記、新規ドキュメントの作成をいただく場合、以下のレポジトリからPullRequestをお送りください。 https://github.com/EC-CUBE/doc4.ec-cube.net

開発への参加

EC-CUBE 4.2の不具合の修正、機能のブラッシュアップを目的として、継続的に開発を行っております。
コードのリファクタリング、不具合修正以外のPullRequestを送る際は、Pull Requestのコメントなどに意図を明確に記載してください。

Pull Requestの送信前に、Issueにて提議いただく事も可能です。 Issuesの利用方法については、こちらをご確認ください。

Slackでも本体の開発に関する意見交換などを行っております。

コピーライトポリシーへの同意

コードの提供・追加、修正・変更その他「EC-CUBE」への開発の御協力(Issue投稿、Pull Request投稿など、GitHub上での活動)を行っていただく場合には、 EC-CUBEのコピーライトポリシーをご理解いただき、ご了承いただく必要がございます。 Issueの投稿やPull Requestを送信する際は、EC-CUBEのコピーライトポリシーに同意したものとみなします。

ec-cube3's People

Contributors

aminotsukasa avatar casek avatar chihiro-adachi avatar dk-umebius avatar geany-y avatar h-kida avatar hiroaki-zeniya avatar hoand-vn avatar izayoi256 avatar k-yamamura avatar kazumiiiiiiiiiii avatar kdl-github-albert avatar kiy0taka avatar lammn avatar lqdung-lockon avatar masahiko220 avatar masumikondo avatar nanasess avatar nobuhiko avatar okazy avatar ryo-endo avatar sai-ken-tanaka avatar scrutinizer-auto-fixer avatar shhirose avatar t-nagahashi avatar tamagoya avatar tao-s avatar tattin avatar tomothumb avatar ttsuru avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ec-cube3's Issues

規格管理に管理用規格名を設ける

概要(Overview)

規格管理でフロントに表示される規格名とは別に管理用規格名を設ける

期待する内容(Expect) or 要望 (Requirement)

カラー等汎用的な規格にメーカー毎の微妙な違いのカラーの分類を大量に登録し、規格の組み合わせ数も大量になっていたので、管理用の規格名を設けることで「Aメーカー用カラー」「Bメーカー用カラー」など、管理できるようにする

商品ごとに規格を個別に登録するような規格構造の見直しも検討したが、現行の仕様での運用に慣れている点や使い回しの需要が一定あるため、大きな変更せずユーザービリティが改善できる案として提案

関連情報 (Ref)

EC-CUBE/ec-cube#1939

  • 汎用的な規格で分類の組み合わせが大量になることが、商品規格選択時の負荷の原因にも繋がりやすかったため、負荷軽減にも一定の改善が見込めるのではないか

[支払方法登録・編集画面]入力エラー発生時、画像が消える

概要(Overview)

[支払方法登録・編集画面]入力エラー発生時、画像が消える

期待する内容(Expect) or 要望 (Requirement)

画像が消えず、エラー修正後、画像もあわせてそのまま保存できること。

再現手順(Procedure)

支払方法登録画面で画像が消える。
no4

1.必要な値入力し、画像アップする.(利用条件に10桁数字入れる)
2.登録ボタン押すと画像が消える
備考:編集画面にも同じことになります

環境 (environment)

  • EC-CUBE: 3.0.15
  • PHP: 7.0.9
  • DB:
    • PostgreSQL x.x.x
    • MySQL x.x.x

関連情報 (Ref)

ゲスト購入時、変更したお届け先住所が、お届け先の追加画面に反映されない

概要(Overview)

ゲスト購入時、
変更したお届け先住所が、お届け先の追加画面の選択肢に反映されない。

※詳細は手順を参照

期待する内容(Expect) or 要望 (Requirement)

複数配送画面の表示も、お届け先住所の変更に連動すること。

再現手順(Procedure)

事前条件:
複数配送=ON

  1. ゲスト購入、「ご注文内容のご確認」ページ
  2. 配送情報の「変更」ボタンから、配送先の住所を変更する。
    image
  3. 「お届け先を追加する」ボタンを押して、「お届け先の複数指定」ページに移動。
    ⇒選択肢の住所が、変更前の住所になっている(NG)
    image
  4. 配送先を選択して、「ご注文内容のご確認」ページに移動。
    ⇒お届け先の住所が、変更前の住所になっている(NG)
    image

環境 (environment)

  • EC-CUBE: 3.0.14
  • PHP: 7.0.0
  • DB:
    • SQLite

関連情報 (Ref)

なし

[ショップ設定:利用規約管理]に大量の文字数を入れた場合、システムエラー発生

概要(Overview)

タイトルの遠いです。
通常の文字数では問題ないですが、検証で大量の文字数を入れた場合システムエラーが発生しました。
(1685376文字)

期待する内容(Expect) or 要望 (Requirement)

システムエラーではなく、エラーを表示する。

再現手順(Procedure)

概要に記載済。

環境 (environment)

  • EC-CUBE: master(2017/11/06現在)
  • PHP: PHP 7.0.21 Development Server
  • DB:SQLite version 3.14.2

関連情報 (Ref)

image

複数配送のお届け先追加時に、デフォルトの配送先の選択がリセットされる

いくつかの配送先が登録されていたとして、
注文者がカートから、
A:配送先を変更しようとした際の編集画面と、
B:複数配送先を追加指定したい場合の、追加設定の画面とで、
デフォルトの住所選択がリセットされています。

Aのケースでは、ラジオボタンが全て未選択になります。こちらはこれでも問題ないかもしれませんが、
Bのケースの場合は、追加指定使用とした場合の、元の住所もリセットされてしまうようで、
一見気づきにくいです。

個別税率が適用されない

概要(Overview)

EC-CUBE/ec-cube#2158 の修正により、個別税率が正しく取得できなくなっているようです。
src/Eccube/Doctrine/EventSubscriber/TaxRuleEventSubscriber.phpのpostLoad()にて、$entity->getProduct()がNULLになってしまいます。

[個別税率が反映されるページ]
商品一覧
購入確認
(受注データには反映されています)

[個別税率が反映されないページ]
商品詳細
カート

商品詳細については、ProductRepository.phpのget()内で、ProductClassesをselectしているために起こっているようです。

期待する内容(Expect) or 要望 (Requirement)

src/Eccube/Doctrine/EventSubscriber/TaxRuleEventSubscriber.phpのpostLoad()にて、$entity->getProduct()が正しく取得できること。

再現手順(Procedure)

管理画面で個別税率を設定して、フロントで商品詳細を表示

環境 (environment)

EC-CUBE: 3.0.14
PHP: 7.0
DB:
MySQL 5.7

関連情報 (Ref)

EC-CUBE/ec-cube#2158

受注登録画面で配送先追加時にプラグインフィールドを考慮していない

概要(Overview)

複数配送先機能がONの状態で、受注登録画面で「お届け先を新規追加」ボタンを押下すると、値を引き継げないフィールドが存在する。

詳細に調査した訳ではありませんが、下記の箇所でPOST値ではなく$TargetOrderをセットしているため、'mapped' => falseなフィールドの値がセットされないものと推測します。

https://github.com/EC-CUBE/ec-cube/blob/3.0.14/src/Eccube/Controller/Admin/Order/EditController.php#L265-L274

環境 (environment)

  • EC-CUBE: 3.0.14

app/cache/eccube/session 以下に書き込み権限の無い場合のエラーハンドリング

運用中、 app/cache/eccube/session に書き込み権限が無くなると、当然のごとくセッションが無効となってしまうが、画面にエラーなど表示されず、原因がわかりにくい。
突然ログインができなくなるが、特に何もエラーが表示されないので、何が発生したのかすぐにわかるようにしたい。

ちなみに、以下のような Warning は出力される。

PHP Warning:  SessionHandler::read(): open(/path/to/app/cache/eccube/session/sess_tvf7fppo1gtmek0dp4apd80oq4, O_RDWR) failed: Permission denied (13) in /path/to/vendor/symfony/http-foundation/Session/Storage/Proxy/SessionHandlerProxy.php on line 69

コマンドラインで何らかの処理を実行した場合など、発生する可能性がある。
サイトとして機能しないので、Fatal レベルのエラーとしても良さそう。

ブロック(全ページ)とブロック(個別)を同時に配置する際、ブロック(個別)が常に順番上になる

管理画面のページレイアウト編集にて、同一エリアに
「ブロック(全ページ) ※他のページで設定」と「ブロック(個別)」を設置する場合、
その設置できる順番が、上から順に個別⇒全ページで固定となってしまい、制御できない。
(例えば、画面操作で、ブロック1(全ページ)、ブロック(個別)、ブロック2(全ページ)の順に
 設定して登録しようとしても、保存される情報は、個別、全ページ1、全ページ2になってしまう)

ブロック(個別)を一番上に設置したい場合は支障ないが、
それ以外の位置には設定できない。

[ゲスト購入時の購入確認画面]お客様情報の箇所の修正希望案

概要(Overview)

[ゲスト購入時の購入確認画面]お客様情報の箇所の修正希望案です。

期待する内容(Expect) or 要望 (Requirement)

・ふりがなが変更できない
・更新に失敗するとすべての入力が破棄されてしまう。
・都道府県が選択リストでない。

再現手順(Procedure)

環境 (environment)

  • EC-CUBE: 3.0.15
  • PHP: 7.0.9
  • DB:
    • PostgreSQL x.x.x
    • MySQL x.x.x

ご注文内容のご確認画面でお届け先の変更ボタン押しても画面移動しないです

概要(Overview)

ご注文内容のご確認画面でフォームエラーあった後に
お届け先の変更ボタン押しても画面移動しないです

期待する内容(Expect) or 要望 (Requirement)

お届け先の変更ボタン押したらお届け先編集(選ぶ)画面表示するべき

再現手順(Procedure)

■会員ユーザー、複数配送:無効・有効

  1. ご注文内容のご確認画面で
       お問い合わせの入力値は3001文字以上入力します
       支払方法を変更する
       「OK」お問い合わせの入力値はそのまま表示します(3001文字)、エラーメッセージ表示する(値が長すぎます。3000文字以内でなければなりません。)
       「🆖」その後「お届け先の変更」ボタン押すと同じ画面表示します、住所選ぶ画面表示しません。
       備考:この問題は現在のソース修正と関係ないですけど

■ゲスト、複数配送:無効・有効
2. ご注文内容のご確認画面で
   お問い合わせの入力値は3001文字以上入力します
   支払方法を変更する
   「OK」お問い合わせの入力値はそのまま表示します(3001文字)、エラーメッセージ表示する(値が長すぎます。3000文字以内でなければなりません。)
   「🆖」その後「お届け先の変更」ボタン押すと同じ画面表示します、。お届け先編集画面表示しないです

環境 (environment)

  • EC-CUBE: 3.0.14
  • PHP: 5, 7
  • DB:
    • MySQL 5.7

関連情報 (Ref)

[要検討]CSV出力機能実行時のexport関数内のQueryBuilderへのフックポイント

概要(Overview)

会員検索、商品CSVダウンロード機能の、
export関数内のQueryBuilderに対するフックポイントの追加を検討する。

期待する内容(Expect) or 要望 (Requirement)

例)会員検索
export関数内の252行目辺りの
$qb = $app['eccube.service.csv.export']
->getCustomerQueryBuilder($request);
に対して、処理の介入を行えるようにする。

[管理:受注登録・編集]商品ごとの送料設定が、送料に反映されない

概要(Overview)

管理画面からの受注登録・編集の際、
商品ごとの送料設定が、送料に反映されない。
(フロントは反映される)

期待する内容(Expect) or 要望 (Requirement)

送料が反映されること。
あわせて、#2254 の対応も行う。

再現手順(Procedure)

  1. [ショップマスター]にて、"商品ごとの送料設定を有効にする"を有効にする
  2. 商品編集にて、個別送料を設定
  3. [受注登録]にて、商品を追加する
    → 送料が反映されない。

環境 (environment)

EC-CUBE: 3.0.14のデモサイトに確認。

関連情報 (Ref)

エラーメッセージが分かりづらい

概要(Overview)

タイトルと同じ

期待する内容(Expect) or 要望 (Requirement)

エラーメッセージの改善。

再現手順(Procedure)

カート投入時、対象商品の商品種別に対して、配送方法がない場合の
エラーメッセージ:「ディナーフォーク - プラチナ - 120mm」はまだ配送の準備ができておりません。
カート画面のエラーメッセージをもう少し整理する必要性があると思います。

環境 (environment)

  • EC-CUBE: 3.0.15
  • PHP: 7.0.9
  • DB:
    • PostgreSQL x.x.x
    • MySQL x.x.x

関連情報 (Ref)

電話番号入力項目について、数値以外が入力可能となっている

概要(Overview)

電話番号入力項目*1について、数値以外が入力可能となっている
(例:-が入力可能となっている)
*1:対象画面は複数あり、以下以外も存在するかどうか確認する必要があります。
マイページ/会員情報編集画面
会員管理会員登録・編集画面

期待する内容(Expect) or 要望 (Requirement)

整数のみ入力可能とする

再現手順(Procedure)

電話番号の入力項目に、「1 -1111 -1111」入力出来ます。=>NG

環境 (environment)

  • EC-CUBE: 3.0.15
  • PHP: 7.0.9
  • DB:
    • PostgreSQL x.x.x
    • MySQL x.x.x

関連情報 (Ref)

フォーム:入力エラー表示の改善

1.エラーメッセージがわかりづらい(例:有効な値ではありません。)
2.エラーとなった項目の背景色が白のまま(2系同様にピンク色にして欲しい)

ゲスト購入の時「ご注文内容のご確認」画面でお客様情報修正しても変更されない

概要(Overview)

注文確認画面で変更ボタン押して、情報を変更して(OKボタン押せずに)注文するボタンしたら、
注文できるけど入力した情報登録されないです。
備考:OKボタン押したら問題ありません

期待する内容(Expect) or 要望 (Requirement)

バーリデトを入れたい方が間違えることなくなります、OKボタン押すことわかりにくいと思います、

再現手順(Procedure)

Overviewに書いたとうり

環境 (environment)

  • EC-CUBE: 3.0.14
  • PHP: ALL
  • DB:
    • PostgreSQL ALL
    • MySQL ALL

関連情報 (Ref)

[複数配送]配送先の追加を行うと、お届け日/時間の選択がリセットされてしまう

概要(Overview)

複数配送。
購入確認画面で「お届け先を追加する」を選択してお届け先を追加すると、お届け日/時間の選択がリセットされてしまいます。

期待する内容(Expect) or 要望 (Requirement)

設定した、お届け日/時間の選択が反映されていること。

ただし、
・お届け先の数が変化
・お届け先に含まれる商品が変化(その結果お届け日が変化)
などした場合に、設定をキープすべきか、リセットすべきか仕様の検討必要。

再現手順(Procedure)

前提:複数配送=ON

  1. カートに商品を入れて、購入確認ページへ。
  2. お届け日・時間を選択する。
  3. 「お届け先を追加する」ボタンから、お届け先追加画面へ。
  4. 何も変更せずに「選択したお届け先に送る」で登録。
  5. 購入確認ページに戻る
    ⇒ お届け日・時間が初期化されている(NG)

環境 (environment)

  • EC-CUBE: 3.0.14
  • PHP: 5.5
  • DB:
    • PostgreSQL 9.3.14

関連情報 (Ref)

複数配送先を再度設定しようとすると、前回と異なる内容が表示される

複数配送先を再度設定しようとすると、
前回設定したのとは異なる内容が表示されます。

手順

1.会員ログインして、配送先Aと配送先Bを登録しておく。
2.同じ商品を2つカートに入れる。
3.商品購入画面から「お届け先を追加する」ボタンを押下。
4.配送先を以下のように設定して反映。商品購入画面に戻る。
 配送先A:1個
 配送先B:1個
5.再度「お届け先を追加する」ボタンを押下。
 手順4で設定した内容と異なる設定が表示される。
 配送先A:1個
 配送先A:1個 (←NG)

期待値

手順4で設定した内容が、手順5で表示されること。

フロント側でフラッシュバッグを利用したい

概要(Overview)

/src/Eccube/Resource/template/admin/alert.twigに該当するものがフロント側にも欲しい。

要望 (Requirement)

フロント側でのメッセージ表示を、テンプレート拡張なしで利用したい。

環境 (environment)

  • EC-CUBE: 3.0.15

関連情報 (Ref)

[管理ログイン画面]ログイン失敗後、再度ログインを行うとWarningが発生する

概要(Overview)

タイトルと同じ。

期待する内容(Expect) or 要望 (Requirement)

Warningが発生しないよう回避する。

再現手順(Procedure)

1.管理者でログインする
2.ログアウト
3.間違ってるパスワードでログインする
4.正しくパスワードでログインする

3.0.14でもWarningが発生。

環境 (environment)

  • EC-CUBE: 3.0.15
  • PHP: 7.0.9
  • DB:
    • PostgreSQL x.x.x
    • MySQL x.x.x

関連情報 (Ref)

Log:
ContextErrorException in ProxyGenerator.php line 306:
Warning: rename(C:\wamp\www\ec-cube\src\Eccube/../../app/cache/doctrine/proxies\__CG__EccubeEntityMasterAuthority.php.593a5176aefa42.80740163,C:\wamp\www\ec-cube\src\Eccube/../../app/cache/doctrine/proxies\__CG__EccubeEntityMasterAuthority.php) [<a href='function.rename'>function.rename</a>]: Access is denied. (code: 5)

[管理画面]エラーメッセージの実装方法、表示形式の統一

概要(Overview)

現状、管理画面のエラーメッセージは、
画面によって、表示形式・実装方法となっているため統一を行う。
(エラーメッセージが黒色で表示されている箇所もあり)

期待する内容(Expect) or 要望 (Requirement)

  • 全画面共通の実装方法で実現する。
  • エラーメッセージは赤字で表示される。

商品一覧のソートをイベントで拡張

商品ソート(mtb_product_list_order_by)のキーに数字を使っているため、プラグイン側で拡張するのに余計な手間がかかっている。

キーを文字列で保持するようにして(どう保持するかは要検討)、プラグインで簡単に拡張できるようにしてはどうでしょうか。

実装例 izayoi256/ec-cube@2269576

受注登録にて商品が登録されていない状態で保存した場合の、エラーメッセージの表示箇所変更

概要(Overview)

受注登録にて商品が登録されていない状態で保存した場合の、エラーメッセージの表示箇所がわかりづらい

期待する内容(Expect) or 要望 (Requirement)

・商品追加ボタンの下にエラーメッセージ「商品が追加されていません」を表示する。
(複数配送時も同様に、対応)

再現手順(Procedure)

1.受注登録画面を表示(admin/order/new)
2.受注ステータス、顧客を選択、「登録」ボタンを押下
3.エラーが発生する。
この際表示される、エラーメッセージ「商品が追加されていません」の箇所がわかりづらいです。
添付ファイル参照

環境 (environment)

  • EC-CUBE: 3.0.13
  • PHP: 5.5.9
  • DB:
    • SQLite version 3.8.2

関連情報 (Ref)

現在の位置

default

現在の位置(複数配送)

2017-02-20_12h48_06

期待する位置

default

補足

  • Order/edit.twigを確認する限り、意図的にこの位置に表示しているわけではなさそう。
  • 複数配送時も同様に、わかりにくい位置にエラーメッセージが表示される。

プラグイン同士の競合が多いし連携もできない

こういうチケットがありましたが
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=17992&forum=5&post_id=77810#forumpost77810

EC-CUBE3系の決済プラグインがポイントプラグインに対応するためには、

  1. 購入確認画面で購入ボタンをクリックし、決済プラグインに遷移する前に会員からポイントを差し引く
  2. 購入確認画面に戻ったり、途中離脱などで、決済がキャンセルされたらポイントを戻す

といった処理が必要なのですが、現時点ではカスタマイズが必要です。
技術的なハードルも高いので、ご自身で難しいようでしたらカスタマイズ可能な業者に依頼されるのが良いと思います。

決済とその他プラグインとの連携も問題になりますし、3.0.8以前のプラグインの作り方と、それ移行のプラグインの連携も問題ですし、インターフェースが共通化されていないのがかなりきついです

travis-ciでphp warningが発生している(mysql)

概要(Overview)

https://travis-ci.org/EC-CUBE/ec-cube/jobs/208531786

mysqlで、以下のwarningが発生している場合があります。

PHP Warning:  Error while sending QUERY packet. PID=4061 in Unknown on line 0
Warning: Error while sending QUERY packet. PID=4061 in Unknown on line 0

mysqlのコネクションエラーのようで、php.iniまたはmysqlの設定値の見直しが必要かもしれません。

期待する内容(Expect) or 要望 (Requirement)

--

再現手順(Procedure)

--

環境 (environment)

  • EC-CUBE: 3.0.x / 3.1.x
  • DB:
    • MySQL

関連情報 (Ref)

規格無し商品購入後、規格を作成すると Myページでシステムエラー

  1. 規格無しの商品を購入
  2. 1 の商品に規格を作成する
  3. Myページを開くとシステムエラーになる

おそらく、 soft_delete flag の影響と思われます

以下、エラーログ

[2015-12-22 17:18:03] eccube.CRITICAL: Twig_Error_Runtime: An exception has been thrown during the rendering of a template ("Entity was not found.") in "Mypage/index.twig" at line 63. (uncaught exception) at C:\inetpub\wwwroot\ec-cube\vendor\twig\twig\lib\Twig\Template.php line 182 {"exception":"[object] (Twig_Error_Runtime(code: 0): An exception has been thrown during the rendering of a template (\"Entity was not found.\") in \"Mypage/index.twig\" at line 63. at C:\\inetpub\\wwwroot\\ec-cube\\vendor\\twig\\twig\\lib\\Twig\\Template.php:182, Doctrine\\ORM\\EntityNotFoundException(code: 0): Entity was not found. at C:\\inetpub\\wwwroot\\ec-cube\\vendor\\doctrine\\orm\\lib\\Doctrine\\ORM\\Proxy\\ProxyFactory.php:177)"} []

お届け時間削除時のシステムエラー

概要(Overview)

お届け時間削除時にシステムエラーが発生する

再現手順(Procedure)

  • インストール直後の前提で、下記の受注を登録する。

    • 配送業者がサンプル業者
    • お届け時間が午前
  • 配送方法設定 > サンプル業者から、お届け時間「午前」を空白にして登録する

関連情報 (Ref)

EC-CUBE/ec-cube#2236

更新日が更新されたりされなかったり

概要(Overview)

ショップマスター画面で、何も変更せずに登録した際に更新日が更新されるケースと更新されないケースが存在する。

(調査が不十分だが、恐らく他のフォームでも発生する)

期待する内容(Expect) or 要望 (Requirement)

何も変更せずに登録した場合の挙動が統一できた方が望ましい。

再現手順(Procedure)

  1. ショップマスター画面で、下記の項目が空白の状態で登録する。

    • 送料無料条件(金額)
    • 送料無料条件(数量)
    • 緯度
    • 経度
  2. dtb_base_info.update_dateの値を確認する。

  3. ショップマスター画面で、何も変更せずに登録する。

  4. dtb_base_info.update_dateの値が2. で確認した値と同じであることを確認する。

  5. ショップマスター画面で、1. の項目を1つ以上入力して登録する。

  6. dtb_base_info.update_dateの値を確認する。

  7. ショップマスター画面で、何も変更せずに登録する。

  8. dtb_base_info.update_dateの値が6. で確認した値と異なることを確認する。

環境 (environment)

  • EC-CUBE: 3.0.14
  • PHP: 7.1.2
  • DB: MySQL 10.1.21-MariaDB

関連情報 (Ref)

整数型の値は、DBから読み込んで生成したエンティティには整数型がセットされるが、FormInterface::getData()から生成したエンティティには文字列型がセットされる。

下記の厳密比較で型が違うためupdateと見做され、SaveEventSubscriber::preUpdate()を通ることが原因。

https://github.com/doctrine/doctrine2/blob/2.3/lib/Doctrine/ORM/UnitOfWork.php#L591

charset_iso_2022_jp:true時にマイページ>ご注文履歴のメール配信履歴が文字化けする

概要(Overview)

開発コミュニティより

https://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=19194&forum=1&post_id=82819#forumpost82819

再現手順(Procedure)

EC-CUBEから送信されるメールの文字コードを ISO-2022-JP にするために、mail.yml の charset_iso_2022_jp オプションを「true」にしました。

メールの文字コードは意図通りに ISO-2022-JP となったのですが、

マイページ>ご注文履歴

のメール配信履歴が文字化けしてしまいました。

メール配信履歴のDB保存先である dtb_mail_history.mail_body の中身も文字化けしています。

ちなみに、mail.yml の charset_iso_2022_jp オプションを「false」とすると、メール配信履歴は文字化けしないことは確認済みです。

おそらくなのですが、ISO-2022-JP に変換されたメールボディの文字列をそのまま dtb_mail_history.mail_body に保存しているからだと思います。保存前に UTF-8 に戻せば問題は解決するかと思います。

環境 (environment)

  • EC-CUBE: 3.0.14
  • PHP: 5.6.30
  • DB:
    • PostgreSQL x.x.x
    • MySQL 5.6.36

関連情報 (Ref)

複数配送時のお届け日が商品単位に算出されていない

以下の手順で再現します。

1.複数配送可能に設定する
2.お届け可能日が即日の商品Aと、お届け可能日が1週間後の商品Bを作成する
3.2の商品(A, B)をそれぞれカートに入れ、購入確認画面へ遷移する
4.複数配送で、商品Aと商品Bを別々のお届先に設定

以上の状態で、商品Aのお届け日が即日からではなく、1週間後になっている

ゲスト複数配送指定時、配送指定した数量より、カートの数量を減らそうとした場合のエラーメッセージが不正

期待

カートの商品の数量<配送指定の数量 とならないように減算処理を制御する必要がある

再現手順

  1. ゲスト購入で、複数のお届け先を指定する
  2. 商品の「数量を変更または削除する」をクリック
  3. 1 で指定した数量をマイナス
  4. 「お支払方法が異なるためこの商品は同時に購入することはできません。 」というエラーメッセージが表示される

完了系画面のtwigテンプレートで、データを扱えるようにしたい

概要(Overview)

完了系画面のtwigテンプレートで、データを扱えるようにしたい。
MAツールやアクセス解析系のタグ埋め込みなどで利用するため。

期待する内容(Expect) or 要望 (Requirement)

  • 購入完了画面
    • 現在でもorderIdは利用できるが、購入金額や注文者情報も必要になるため、Orderエンティティがあるとありがたい
  • 問い合わせ完了画面
    • Customerエンティティもしくは問い合わせ者の情報
  • 会員登録完了画面(仮会員)
    • Customerエンティティ
  • 会員登録完了画面(本会員)
    • Customerエンティティ

再現手順(Procedure)

環境 (environment)

  • EC-CUBE: 〜3.0.15
  • PHP: x.x.x
  • DB:
    • PostgreSQL x.x.x
    • MySQL x.x.x

関連情報 (Ref)

管理画面の商品・レイアウト・テンプレートの更新プレビュー機能

以下、機能改修要望です。いかがでしょうか?

以下一例。
■対象画面
商品編集画面:admin/product/product/2/edit
■実施方法
画面右側の[確認]ボタンを押下
→ (DBに登録されている情報に基づいて)商品詳細画面が表示される
■改善案
◯期待する動作
商品詳細画面は、DBに保存されている値ではなく、
入力途中のデータを表示したい。

以下、修正対象候補の画面です。
ステージング環境を用意していない、できないショップオーナーにとっては便利な機能だと思います。


商品登録/編集:admin/product/product/2/edit
レイアウト管理:admin/content/layout/1/edit
テンプレート管理:admin/store/template ← 新たにプレビュー機能がほしい。

SEO周りの改善

概要(Overview)

プラグインでって言われそうですが、基本的なdescriptionとtitleくらいはどうにかしたい。

期待する内容(Expect) or 要望 (Requirement)

  • レイアウト毎じゃなくてページ(商品、カテゴリ)毎でも設定可能にする
  • authorとkeywordsはもう使わなくても良いのでは
  • 現状ではtitleの設定ができないので、追加

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.