在庫レベルが 0 の場合でもクライアントがアイテムを購入できるようにするモジュールを探していました。この機能は OpenCart 1.5.x で利用できますか?
製品を 2 ~ 3 日に設定しましたが、サイトのフロントエンドではまだ製品が在庫切れと表示されます。クライアントに 2 ~ 3 日の遅延を警告し、それでもクライアントが購入できるようにするための手段はありますか?
まず、在庫切れの商品がチェックアウトされないようにする機能を変更する必要があります。catalog/controller/checkout/checkout.php に移動して変更します
public function index() {
// Validate cart has products and has stock.
if ((!$this->cart->hasProducts() && empty($this->session->data['vouchers'])) || (!$this->cart->hasStock() && !$this->config->get('config_stock_checkout'))) {
$this->redirect($this->url->link('checkout/cart'));
}
に
public function index() {
// Validate cart has products and has stock.
if (!$this->cart->hasProducts() && empty($this->session->data['vouchers'])) {
$this->redirect($this->url->link('checkout/cart'));
}
そもそもカートに追加できないかどうか覚えていないので、お知らせください。がんばれデビッド!
アップデート
製品ページの「在庫切れ」を変更するには、ストアの設定で自分で変更したので、それがうまくいかない場合は、catalog/controller/product/product.php に移動して、表示される場所に移動してください。
if ($product_info['quantity'] <= 0) {
$this->data['stock'] = $product_info['stock_status'];
} elseif ($this->config->get('config_stock_display')) {
$this->data['stock'] = $product_info['quantity'];
} else {
$this->data['stock'] = $this->language->get('text_instock');
}
への変更:
if ($product_info['quantity'] <= 0) {
$this->data['stock'] = "2-3 Days";
} elseif ($this->config->get('config_stock_display')) {
$this->data['stock'] = $product_info['quantity'];
} else {
$this->data['stock'] = $this->language->get('text_instock');
}
これらの括弧内のテキストを、適切なフレーズに変更してください。
これは、OpenCart に標準で組み込まれている機能です。設定は、設定ページの「オプション」タブにあります。
最初に見つける
if (!$option_value['subtract'] || ($option_value['quantity'] > 0)) {
と置き換えます
if (1==1 || !$option_value['subtract'] || ($option_value['quantity'] > 0)) {