バージョン選択

フォーラム

メニュー

オンライン状況

93 人のユーザが現在オンラインです。 (68 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 93
もっと...

サイト内検索

質問 > フロント機能 > 注文ページのお届け日・またお届け日時の制限

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ateshi
投稿日時: 2019/2/28 18:56
対応状況: −−−
一人前
登録日: 2016/12/21
居住地:
投稿: 93
注文ページのお届け日・またお届け日時の制限
▼テンプレート
[導入プラグインの有無] お届け日調整プラグイン
[問題]来店受け取りのある店舗のため、
下記のような場合でも、注文を受けられてしまう。


3/12は定休日だけど、来店日として指定されてしまう
3/13午前中は営業しているが、、午後以降は休み

前もって管理画面から設定出来ればかなり融通がきくのですが、
カスタマイズは難しいでしょうか?





468
投稿日時: 2019/3/1 8:46
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 1858
Re: 注文ページのお届け日・またお届け日時の制限
来店受け取りの日時をお届け日・お届け日時の項目を利用されているのでしょうか?

お届け日調整プラグインには、営業日のみをカウントするという機能があったかと思いますが、
定休日を登録する事は難しいですか?

午前、午後の判定は難易度が高いような気がしますが、
カスタマイズでの対応は可能かと思います。
ただ、お届け日調整プラグインのライセンスは、
配布元の株式会社ブラテック様の独自ライセンスとなっておりますので、
カスタマイズの可否も含めて、一度、問い合わせされてみては如何でしょうか?


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

ateshi
投稿日時: 2019/3/5 11:25
対応状況: −−−
一人前
登録日: 2016/12/21
居住地:
投稿: 93
Re: 注文ページのお届け日・またお届け日時の制限
お問合せしてみましたが、やはり、配送日までのリードタイム計算のプラグインのため、ピンポイントでその日付を選択出来なくすることは現状不可能のようです。
カスタマイズも費用がかさみます。

こういった要望は皆さんお持ちではないんでしょうかね。
繁忙期などで、もうその日の配送日は厳しいとかあると思うのですが。

本体カスタマイズでもいいので、何かいい方法あれば教えていただきたいです。
umebius
投稿日時: 2019/3/5 11:33
対応状況: −−−
登録日: 2016/7/22
居住地: 東京日本橋
投稿: 1296
Re: 注文ページのお届け日・またお届け日時の制限
やはり本体カスタマイズになってしまいますが。

来店受け取りは"配送方法"を別のものとして登録されているのでしょうか?

それでしたら、来店受け取りが指定されている場合はShoppingServiceでエラーにしてしまい、注文確認画面で再選択してもらうするのが妥当かと思います。
午前・午後もお届け時間として登録されていれば判断可能ですよね。

後はFomTypeをいじれば該当の日付をそもそもdisabledにしてしまうことも可能です。


----------------
EC-CUBE3系4系 カスタマイズ ECのプロがシステム特急案件承ります。
公式インテグレートパートナー (株)U-Mebius

ateshi
投稿日時: 2019/3/5 15:36
対応状況: −−−
一人前
登録日: 2016/12/21
居住地:
投稿: 93
Re: 注文ページのお届け日・またお届け日時の制限
>>後はFomTypeをいじれば該当の日付をそもそもdisabledにしてしまうことも可能です。


こちらについて詳しくお聞きしたいです。
Ringo
投稿日時: 2019/3/7 17:45
対応状況: −−−
常連
登録日: 2018/8/10
居住地:
投稿: 70
Re: 注文ページのお届け日・またお届け日時の制限
mtb_closedate を作成して、

管理画面の「マスターデータ管理」にて、「対応不可日」を「日々or毎週?」設定して、
「お届け日」の選択にて「非表示」とする、、、

で宜しければ、この週末には、コードの提示が出来るかも。

「お届け日」の select option 設定値に対する「mtb_closedateの非表示」

までは、動作確認出来てるのですが「まとめる」時間が取れないもので。

なお、基本は
http://rider-dice.hatenablog.com/entry/2017/06/22/173705
を、参照してますが、これ以外に、修正箇所がありますので。
Ringo
投稿日時: 2019/3/8 8:27
対応状況: −−−
常連
登録日: 2018/8/10
居住地:
投稿: 70
Re: 注文ページのお届け日・またお届け日時の制限
前提:配送種別は組み込んでいません。

PostgreSQL

-- Table: mtb_closedate

-- DROP TABLE mtb_closedate;

CREATE TABLE mtb_closedate
(
  id smallint NOT NULL,
  name text,
  rank integer NOT NULL,
  CONSTRAINT mtb_closedate_pkey PRIMARY KEY (id)
)
WITH (
  OIDS=FALSE
);
ALTER TABLE mtb_closedate
  OWNER TO postgres;

eccube-3.0.17/src/Eccube/Entity/Master/Closedate.php
(Pref.phpをコピー)

class Closedate extends \Eccube\Entity\AbstractEntity

eccube-3.0.17/src/Eccube/Repository/Master/ClosedateRepository.php
(PrefRepository.phpをコピー)

class ClosedateRepository extends EntityRepository

eccube-3.0.17/src/Eccube/Resource/doctrine/master/Eccube.Entity.Master.Closedate.dcm.yml
(Eccube.Entity.Master.Pref.dcm.ymlをコピー)

Eccube\Entity\Master\Closedate:

    type: entity
    table: mtb_closedate
    repositoryClass: Eccube\Repository\Master\ClosedateRepository
    

eccube-3.0.17/src/Eccube/ServiceProvider/EccubeServiceProvider.php

        $app['eccube.repository.master.pref'] = $app->share(function () use ($app) {
            return $app['orm.em']->getRepository('Eccube\Entity\Master\Pref');
        });
        $app['eccube.repository.master.closedate'] = $app->share(function () use ($app) {
            return $app['orm.em']->getRepository('Eccube\Entity\Master\Closedate');
        });

eccube-3.0.17/vendor/composer/autoload_classmap.php

    'Eccube\\Entity\\Master\\Pref' => $baseDir . '/src/Eccube/Entity/Master/Pref.php',
    'Eccube\\Entity\\Master\\Closedate' => $baseDir . '/src/Eccube/Entity/Master/Closedate.php', (上の「Pref」をコピー)

eccube-3.0.17/vendor/composer/autoload_static.php

        'Eccube\\Entity\\Master\\Pref' => __DIR__ . '/../..' . '/src/Eccube/Entity/Master/Pref.php',
        'Eccube\\Entity\\Master\\Closedate' => __DIR__ . '/../..' . '/src/Eccube/Entity/Master/Closedate.php', (上の「Pref」をコピー)

eccube-3.0.17/src/Eccube/Service/ShoppingService.php

use Eccube\Entity\Master\DeviceType;
use Eccube\Entity\Master\Closedate;


    /**
     * お届け日を取得
     *
     * @param Order $Order
     * @return array
     */
    public function getFormDeliveryDates(Order $Order)
    {

        // お届け日の設定
        $minDate = 0;
        $deliveryDateFlag = false;

        // 配送時に最大となる商品日数を取得
        foreach ($Order->getOrderDetails() as $detail) {
            $deliveryDate = $detail->getProductClass()->getDeliveryDate();
            if (!is_null($deliveryDate)) {
                if ($deliveryDate->getValue() < 0) {
                    // 配送日数がマイナスの場合はお取り寄せなのでスキップする
                    $deliveryDateFlag = false;
                    break;
                }

                if ($minDate < $deliveryDate->getValue()) {
                    $minDate = $deliveryDate->getValue();
                }
                // 配送日数が設定されている
                $deliveryDateFlag = true;
            }
        }

        // 配達最大日数期間を設定
        $deliveryDates = array();

        // 配送日数が設定されている
        if ($deliveryDateFlag) {
            $period = new \DatePeriod (
                new \DateTime($minDate.' day'),
                new \DateInterval('P1D'),
                new \DateTime($minDate + $this->app['config']['deliv_date_end_max'].' day')
            );
            
            // 追加
            $closedates = $this->app['eccube.repository.master.closedate']
                ->findAll();
            
            foreach ($period as $day) {
                // 追加
                $open = true;
                foreach ($closedates as $closedate) {
                    if (strcmp($day->format('Y/m/d'),$closedate) == 0) {
                        $open = false;
                    }
                }
                if ($open) {
                    $deliveryDates[$day->format('Y/m/d')] = $day->format('Y/m/d');
                }
            }
        }

        return $deliveryDates;

    }


スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

ec-cube.co

統計情報

総メンバー数は50,992名です
総投稿数は93,510件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
nanasess
1984
4
468
1858
5
yuh
1604
6
red
1353
7
umebius
1296
8
h_tanaka
924
9
fukap
907
10
tsuji
856
11
shutta
835
12 ramrun 789
13
tao_s
774
14 karin 656
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
483
20 tonton 436


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.