メモ > 技術 > CMS: ECCube > 仕事で使う場合の注意
仕事で使う場合の注意
仕様決めの際、以下の点などに注意する。(「ECCubeの微妙な部分まとめ」とも言える。)
・ユーザ側は、モックでもいいのでひととおりの流れを確認してもらう。後から注文に関する変更を行うのは大変。
できればECCubeが実際に動く環境を渡し、管理画面含めてしばらく触ってもらう。
「有名なプログラムだから、痒いところには大抵手が届くのだろう」と思っていると大抵届かないので苦労する。
最初の段階で渡すか、ある程度仕様が固まってきた段階で「運用をイメージしてひととおり触ってください」として渡すかは考える。
特に「ECCubeは触ったことがありません」というクライアントの場合、早い段階で少しでも触ってもらい、ここに記載したような注意を連携しておく。
・商品の規格として色やサイズを設定できるが、1商品に対して設定できるのは2つまで。
それ以上の対応が必要な場合、
別の商品として登録するか、
以下などを使って価格に連動したオプション項目を追加するか、
https://www.ec-cube.net/products/detail.php?product_id=1787
別の商品としてカテゴリやタブで分類するか
…などが考えられる。
・商品の規格として色やサイズを設定すると、商品一覧では同一の商品とみなされる。
つまり商品に「赤」「青」「黒」の規格を設定していたとして、商品一覧ではバラバラに表示されない。
「別々に表示したい」「商品を多く見せたい」などの場合、規格ではなく別々の商品として登録する必要がある。
ただし、それはそれでメンテナンスに難がある。(例えば商品の説明文を編集したければ、すべての商品に対して作業する必要がある。)
・注文管理の「対応状況」などについても「ECCubeのレールに乗っておけばいいだろう」と思いきや、
「入金待ちのステータスがないので対応しづらい」
「間違って入金済みにすると戻せない」
「入金日を変更できない」
など、問題になるかもしれない事項が多々あるので注意。
実際の運用に当てはめて、受注から発送や返品までの流れをよく考えてから制作に入る。
https://www.shiro8.net/manual4/v40x/order/index.html
対応状況をカスタマイズする方法自体は、このファイル内の「カスタマイズ: 対応状況の調整」を参照。
・操作ミスを戻せないのは決済絡みもあってある程度は仕方ないのだと思われるが、
いざというときに慌てないようにミスしたあとの流れは確認しておきたい。
このファイル内の
「運用中のトラブル対応」の「入金済みデータの入金キャンセル」「入金済みデータの支払い方法変更」「発送後のキャンセル」と
「プラグインの導入: ECCube VeriTrans4G決済プラグイン(4.0系)」の「決済キャンセルへの対応」
も参照。
・登録項目を追加したら、検索対象にもしたくなるかもしれない。CSVの入出力にも影響する可能性がある
…など項目の追加はなかなか影響が大きいので、自力で追加しようとせずに、まずはプラグインで対応できないかを確認する方がいいかもしれない。
・標準機能としてお問い合わせフォームがあるが、お問い合わせ内容はメールで送信されるのみ。
管理画面から確認できたり返信できたり、という機能は無い。
・pageno=2 のように指定すれば次のページが表示されるが、pageno=99 のように指定すると仮に商品が存在しなくてもページにはアクセスできる。
このページはGoogleにもクロールされ、検索結果にも表示される可能性がある。
少しでも商品への到達率を上げるため、
「商品が無ければ、もしくはpagenoが指定されていれば、noindexを出力して検索エンジンのクロール対象から外す」
というカスタマイズを行っておくといいかもしれない。
・管理画面の「受注管理 > 受注一覧」の表示順は「更新日」の降順で固定されている。「商品管理 > 商品一覧」や「会員管理 > 会員一覧」も表示順は固定。
それぞれ「登録順など他の表示順にも対応したい」「初期の並び順を変更したい」という要望が発生する可能性は高い。
・管理画面の「受注管理 > 受注一覧」の検索欄に「注文番号・お名前・会社名・メールアドレス・電話番号」があるが、
ここに注文者のフルネームを入力してもヒットしない。名前・カナの両方に言える。詳細検索の「注文者名」ならヒットする。
・管理画面の「受注管理 > 受注一覧 > 受注詳細」の「メール送信履歴」からメールを送信できるが、送信先アドレスが表示されていない。
・管理画面の「受注管理 > 受注登録」から廃止済みの商品を選択できる。登録時にうっかり選択してしまう可能性があるので注意。
詳細は「運用のためのメモ」の「商品の公開状態」を参照。
・管理画面に「コンテンツ管理 > レイアウト管理」があり、ここからブロックを追加削除や移動ができる。
すべてのブロックに対して、「どこに移動させても必ず正しく動作する」をテストするのは手間がかかるかもしれないので注意。
一部のブロックのみ動作保証とするか、工数をかけて色々なパターンをテストするか。
・管理画面に「コンテンツ管理 > ブロック管理」があり、ここからブロック自体を編集できる。
ただし default_frame.twig は全ページに影響するファイルのためか、この画面から編集できない。
https://homupedia.com/eccube4-template-customize.html
・プラグインは豊富にあるが有料のものが多く、動作を試したいだけの場合でも購入する必要がある。ECCubeの導入には結局結構なお金がかかるかもしれない。
また、プラグインは競合のリスクが常にある。
詳細は「プラグインの導入」を参照。
・管理画面の「設定 → プラグイン → プラグイン一覧」に「アップデート」という列があり、アップデートがあるとここにその旨が表示される。
ただし気軽にアップロードされると問題が発生する可能性があるし、プラグインも含めてGit管理している場合は差分問題も発生する。
「アップデート」列をコメントアウトし、プラグインはコマンドラインからインストールする運用も検討するといい。
・管理画面からアップデートやキャッシュクリアなどを行なうと、メモリ不足でエラーになることが多い。
ファイルやデータが中途半端な状態になると困るので、原則コマンドラインから操作する方が良さそう。
・データベースの文字コードはutf8となっている。絵文字などは扱えないので注意。
文字コードをutf8mb4に変更する方法は以下で紹介されているが、文字列の長さチェックなど含めて本当に問題に無いかは要検証。
https://amidaike.hatenablog.com/entry/2019/09/14/130431
・データベース内の日時は、実際の日時より9時間前の時間が記録されている。(UTCで記録されているので時差がある。)
ECCubeの仕様らしいが、SQLで直接データを集計するような場合に注意が必要。
https://doc4.ec-cube.net/i18n_timezone
https://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=22997&forum=17
後述の「運用のためのメモ」の「データベースの日時」も参照。
・CSS管理、JavaScript管理、メール設定などにより、サーバ上のファイルが編集される。
GitからのPULLによりプログラムをサーバ上に反映している場合、コンフリクトが発生する可能性があるので注意。
詳細は「運用のためのメモ」の「Git管理の考察」を参照。
・プログラムも設定ファイルも、公開ディレクトリ内に置かれる。
設定ファイルを公開ディレクトリ外に移動する方法は、このファイルにある「本番環境(AWS想定)での稼働」の「設定ファイル」を参照。
公式の解説どおり .htaccess で設定するのはイマイチそうなので、その対策も記載している。
・ECCube4.0は、Composerのバージョン2では動作しない。バージョン1を明示して使う必要がある。
詳細は「導入」の「Composerのバージョン指定」を参照。
以下の記事も参考になる。
EC-CUBE4はここが酷い。
https://zenn.dev/ukeloop/articles/80244b47f15b0a