バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

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

フロント機能

新規スレッドを追加する

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


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

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





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

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

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


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

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

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

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

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

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

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


----------------
EC-CUBEカスタマイズ・高速化・脆弱性対策・SEO ご相談ください。

2系・3系から4系へのバージョンアップ実績豊富

ateshi
投稿日時: 2019/3/5 15:36
対応状況: −−−
一人前
登録日: 2016/12/21
居住地:
投稿: 114
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公式 Amazon Payプラグイン

統計情報

総メンバー数は88,288名です
総投稿数は109,688件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1567
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

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

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