Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Настройки для продажи цифрового контени


ahtung
 Share

Recommended Posts

Добрый гдень. Подскажите, как правильно настроить магазин для продаж цифрового контени. 

 

Вот что самое главное интересует: как сгделать чтобы товар можно было заказать только 1 шт? Ггде-то на форуме сивили в пример сайт market. =^_^= .ru, но им можно люпотому чтой модуль добавить в корзину раз 10, а мне нужно только один.

 

Ну и еещё, на страниэто товара убрать возможность выбирать когдачество, то же и в корзине. Нашел способ выпилить из самого шаблона, но не уверен что это правильно. 

 

Что посоветуете?

Link to comment
Share on other sites


Спасипотому что, все ик и сгделал, но если кнопку "Купить" нажать два раза, то и в корзину бросит 2 штуки. Вот именно этого мне и не нужно для цифрового контени!

Link to comment
Share on other sites


Спасипотому что, все ик и сгделал, но если кнопку "Купить" нажать два раза, то и в корзину бросит 2 штуки. Вот именно этого мне и не нужно для цифрового контени!

для кнопки пропишите: onClick="this.disabled=true"
Link to comment
Share on other sites


Спасипотому что, все ик и сгделал, но если кнопку "Купить" нажать два раза, то и в корзину бросит 2 штуки. Вот именно этого мне и не нужно для цифрового контени!

для кнопки пропишите: onClick="this.disabled=true"

После обновления страницы кнопка "Купить" опять активна. Нет, згдесь надо что-то другое...

Link to comment
Share on other sites


После обновления страницы кнопка "Купить" опять активна. Нет, згдесь надо что-то другое...

Мне кажется, все это не нужно. Цифровой товар не стоит запрещать покупать дважды:

1. люпотому чтой идиот при оформлении покупки увидит, что сумма и кол-во товара удвоены

2. товар может быть куплен не один раз - например, разрилитлик покупает модуль, и для использования на других сайих, согласно лиэтонзии, покупает его еещё раз.

  • +1 1
Link to comment
Share on other sites


В обещём, решение нашел. Вот что полулилось: в корзину возможно добавить люпотому чтого товара только 1 шт. При повторном нажатии  "Купить" появляется всплываюещёе окно с сообещёнием "Товар ххх уже добавлен в корзину"

Если кому интересно, могу згдесь написать что и как гделал.

Link to comment
Share on other sites


1. В файле \system\library\cart.php

код (стр. 261-268)

if ((int)$qty && ((int)$qty > 0)) {
    	if (!isset($this->session->data['cart'][$key])) {
      		$this->session->data['cart'][$key] = (int)$qty;
    	} else {
      		$this->session->data['cart'][$key] += (int)$qty;
    	}
}

заменить на 

if ((int)$qty && ((int)$qty > 0)) {
    	if (!isset($this->session->data['cart'][$key])) {
      		$this->session->data['cart'][$key] = (int)$qty;
		return('ok');
    	} else {
      		//$this->session->data['cart'][$key] += (int)$qty;
		return('no');
    	}
}

 

2. В файле \catalog\controller\checkout\cart.php

код (стр. 543-545)

$this->cart->add($this->request->post['product_id'], $quantity, $option);

$json['success'] = sprintf($this->language->get('text_success'), $this->url->link('product/product', 'product_id=' . $this->request->post['product_id']), $product_info['name'], $this->url->link('checkout/cart'));

заменить на 

if ($this->cart->add($this->request->post['product_id'], $quantity, $option) == "ok") {
	$json['success'] = sprintf($this->language->get('text_success'), $this->url->link('product/product', 'product_id=' . $this->request->post['product_id']), $product_info['name'], $this->url->link('checkout/cart'));
}

else if ($this->cart->add($this->request->post['product_id'], $quantity, $option) == "no") {
	$json['attention'] = sprintf($this->language->get('text_attention'), $this->url->link('product/product', 'product_id=' . $this->request->post['product_id']), $product_info['name'], $this->url->link('checkout/cart'));
}
3. В файле \catalog\view\theme\default\template\product\product.tpl  
после кода (стр. 362-370)
			if (json['success']) {
				$('#notification').html('<div class="success" style="display: none;">' + json['success'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>');
					
				$('.success').fadeIn('slow');
					
				$('#cart-total').html(json['total']);
				
				$('html, body').animate({ scrollTop: 0 }, 'slow'); 
			}

добавить

			if (json['attention']) {
				$('#notification').html('<div class="attention" style="display: none;">' + json['attention'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>');
				$('.attention').fadeIn('slow');
				$('#cart-total').html(json['total']);
				$('html, body').animate({ scrollTop: 0 }, 'slow'); 
			}

и тоже самое в файле \catalog\view\javascript\common.js

после кода (стр. 128-136)

			if (json['success']) {
				$('#notification').html('<div class="success" style="display: none;">' + json['success'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>');
				
				$('.success').fadeIn('slow');
				
				$('#cart-total').html(json['total']);
				
				$('html, body').animate({ scrollTop: 0 }, 'slow'); 
			} 

 

добавить код 

			if (json['attention']) {
				$('#notification').html('<div class="attention" style="display: none;">' + json['attention'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>');
				$('.attention').fadeIn('slow');
				$('#cart-total').html(json['total']);
				$('html, body').animate({ scrollTop: 0 }, 'slow'); 
			}

4. "Из шаблона товара и корзины выпилить - убрать поле кол-ва, сгделать его hidden с кол-вом 1 шт." как писал templater

 

Говорю сразу - я не программист и опен картом занимаюсь впервые. Делал под себя. Не пинать!

Link to comment
Share on other sites


можно проещё

1. В файле \system\library\cart.php

код (стр. 261-268)

 

if ((int)$qty && ((int)$qty > 0)) {
    if (!isset($this->session->data['cart'][$key])) {
        $this->session->data['cart'][$key] = (int)$qty;
    } else {
        $this->session->data['cart'][$key] += (int)$qty;
    }
}

 

заменить на 

 

if ((int)$qty && ((int)$qty > 0)) {
    $this->session->data['cart'][$key] = 1; 
}
Link to comment
Share on other sites

  • 3 weeks later...

4. "Из шаблона товара и корзины выпилить - убрать поле кол-ва, сгделать его hidden с кол-вом 1 шт." как писал templater

 

Говорю сразу - я не программист и опен картом занимаюсь впервые. Делал под себя. Не пинать!

 

а можете пожалуйси, кто то поподробней описать этот пункт? ик, как описаны 1,2,3 пункты в сообещёнии ahtung-а. я просто дноко не программист и впервые с опенкарт связался. спасипотому что

Link to comment
Share on other sites


  • 1 year later...

Здрасте, очень благодарен за икое круткаковское решение=)

 

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

Вместо полей когдачества - посивил "1" и сообещёние "Этот товар уже есть в корзине"

У меня модуль simple стоит (упрощённая форма заказа\регистрации), для него тоже файлик приложен.

Кароч закинул и всё=))

 

Папка backup - это backup=)

Папка Контент - её можно закаливать

Kontent.zip

Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.