averuga

Только одна единица товара в заказе. Как?

Рекомендуемые сообщения

averuga    0

Привет, друзья!  В WooCommerce для Wordpress есть одна удобная фича в настройках - возможность задать для товара покупку только одной единицы 

этого товара. Это очень удобно, когда продаются виртуальные скачиваемые товары (pdf и т.п.). И защищает покупателя от ошибки во время оплаты товара

через платёжные агрегаторы. Плюс, скачиваемый товар всегда "В наличии",  вывод этой характеристики в карточке товара отключается за ненадобностью.

Как аналогичную логику реализовать в Opencart?

Подскажите, пожалуйста, решение или модуль.

Спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Baco    395

открываем: system\library\cart.php

находим: 

$product = explode(':', $key);

добавляем ниже:

if ($quantity > 1 ) {
	$quantity = 1;
} 

а вот это уже на условие настройки стаивть - отдельная тема...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
averuga    0

@Baco спасибо! Это будет работать в связке с физическими товарами? Т.е. для физтоваров выбор количества нужен,а для скачиваемых - всегда один экземпляр за заказ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Baco    395

если цифровой товар, продаеться как product_id, то будет, а так, то условие, добавленное - правдиво под все товары, которые попадают в корзину.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
octdev    0

открываем: system\library\cart.php

находим: 

$product = explode(':', $key);

добавляем ниже:

if ($quantity > 1 ) {
	$quantity = 1;
} 

а вот это уже на условие настройки стаивть - отдельная тема...

Не верное условие, надо на каждый товар вешать проверку

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Baco    395

Не верное условие, надо на каждый товар вешать проверку

если задача стоит:

возможность задать для товара покупку только одной единицы этого товара

то верно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
averuga    0

@Baco @octdev Я наверное не очень корректно задачу сформулировал, извините за косноязычие.

Разрешите уточнить: если товар скачиваемый (их может быть 100 в магазине), то его можно купить только по 1 копии за 1 заказ.

Если товар физический, то его можно купить стандартно, выбрав кол-во штук товара.

Если клиент кладет в корзину физические и скачиваемый товар, то в корзине он может поменять/указать кол-во физических товаров,

а для скачиваемого- не может. 

П.С. В магазине будут и физ, и виртуальные товары, которые могут попасть в единый заказ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Baco    395

что выступает идентификатором скачиваемого товара ? в чем отличие от физического ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
averuga    0

Скачиваемые товары будут размещаться в определённой категории, у скачиваемых товаров будет отключена доставка.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Baco    395

Вот на доставке можно сыграть...

итак, по новой: открываем: system\library\cart.php

 

находим: 

$this->data[$key] = array(

перед ним пишем:

if (!$product_query->row['shipping'] || ($product_query->row['shipping'] == 0)) {
	$quantity = 1;
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
averuga    0

@Baco большое спасибо!

>Плюс, скачиваемый товар всегда "В наличии",  вывод этой характеристики в карточке товара отключается за ненадобностью.

Можно ли, аналогично, привязаться к отключенной доставке,и убрать "В наличии" в шаблоне продукта темы? Т.к. скачиваемые товары - файлы - всегда в наличии.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
octdev    0

если задача стоит:

то верно.

В текущей здаче да, на мультидвиге решение другое

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
averuga    0

@octdev поделитесь, пожалуйста, своим решением. Я и читатели форума будем благодарны.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
averuga    0

@Baco подскажите, пожалуйста, как отключить возможность указывать количество для скачиваемого товара в карточке товара в поле "Количество:"?

Это в product.tpl делается (дефолтный шаблон)?

В корзину добавляется только один скачиваемый файл, даже если в карточке указывается два и более, но хочется совсем убрать это поле в карточке скачиваемого товара. 

А для физических товаров - оставить.

 

post-673006-0-64023000-1419101029_thumb.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
shoputils    230

В контроллере карточки товара проверять включена ли доставка для данного товара или нет, передавать результат в tpl, а там уже по результатам либо выводить поле "количество", либо не выводить. Как-то так.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
aleuphoria    0

Ребят, не подскажите, как тоже самое сделать только на опенкарт 2.1, там нет переменной $key ? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
chukcha    935

Ну и что?

А какая переменная есть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
nikifalex    333

вы прикиньте корзину стали хранить не в сессии, а в базе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
chukcha    935

Это вы мне? или aleuphoria

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
nikifalex    333

ну я просто удивился, как сильно все изменилось.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Sepika    1

Для Open Cart 2.3 решение не подскажете?

У меня просто - только цифровые товары, ничего учитывать не надо - просто чтобы не могли купить больше 1...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу