Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Кратность добавления заказа в корзину


Recommended Posts

Это Вам надо делать калькулятор в карточке товара. Я специализируюсь. Если интересует пишите мне в ЛС я посмотрю и сообщу по стоимости.

Надіслати
Поділитися на інших сайтах

2 часа назад, whiteblue сказал:

мегакалькулятор Вам в помощь

сразу ссылку почему бы не приложить?

Надіслати
Поділитися на інших сайтах


10 часов назад, AWARO сказал:

сразу ссылку почему бы не приложить?

забанят за внешнюю ссылку 

Надіслати
Поділитися на інших сайтах

13 минут назад, whiteblue сказал:

забанят за внешнюю ссылку 

а сюда выложить чо?

Надіслати
Поділитися на інших сайтах


15 минут назад, AWARO сказал:

а сюда выложить чо?

Увы некоторые инциденты, тормозят принятие решений в этом направлении... Не буду писать суть, иначе начнется дискуссия...

Надіслати
Поділитися на інших сайтах

Как вариант "дешево и сердито":

Заносим кол-во кв.м в упаковке в любое неиспользуемое поле товар(jan, например). 

Или используем для этого атрибуты.

Идем в контроллер товара и добавляем вывод этого поля в шаблон(если атрибуты, то они и так обычно уже там есть)

В шаблоне для вывода кол-ва кв.м делаем кол-во * на содержимое нашего поля/атрибута

Для отображения всяких там цен за кв.м производим соответствующие арифметические операции с нашим полем/атрибутом.

Подробнее могу в личке рассказать или сделать сам, но за деньги.

Надіслати
Поділитися на інших сайтах


@strojremont

https://opencartforum.com/search/?q=квадратные метры

Спойлер

Открываем файл admin/catalog/view/template/catalog/product_form.tpl

ищем строки:


<div class="form-group">
  <label class="col-sm-2 control-label" for="input-price"><?php echo $entry_price; ?></label>
  <div class="col-sm-10">
	<input type="text" name="price" value="<?php echo $price; ?>" placeholder="<?php echo $entry_price; ?>" id="input-price" class="form-control" />
  </div>
</div>

после них вставляем:


<div class="form-group">
  <label class="col-sm-2 control-label" for="input-mpn">Количество м<sup>2</sup> в упаковке</label>
  <div class="col-sm-10">
    <input type="text" name="mpn" value="<?php echo $mpn; ?>" id="input-mpn" class="form-control" />
  </div>
</div>

Эти строки удаляем:


<div class="form-group">
  <label class="col-sm-2 control-label" for="input-mpn"><span data-toggle="tooltip" title="<?php echo $help_mpn; ?>"><?php echo $entry_mpn; ?></span></label>
  <div class="col-sm-10">
   <input type="text" name="mpn" value="<?php echo $mpn; ?>" placeholder="<?php echo $entry_mpn; ?>" id="input-mpn" class="form-control" />
  </div>
</div>

 

 

Поле для ввода количества штук в упаковке
после строк выше добавляем:


<div class="form-group">
  <label class="col-sm-2 control-label" for="input-isbn"><span data-toggle="tooltip" >Количество шт. в упаковке</span></label>
  <div class="col-sm-10">
    <input type="text" name="isbn" value="<?php echo $isbn; ?>" placeholder="<?php echo $entry_isbn; ?>" id="input-isbn" class="form-control" />
  </div>
</div>

Удаляем код для ввода isbn


<div class="form-group">
  <label class="col-sm-2 control-label" for="input-isbn"><span data-toggle="tooltip" title="<?php echo $help_isbn; ?>"><?php echo $entry_isbn; ?></span></label>
  <div class="col-sm-10">
    <input type="text" name="isbn" value="<?php echo $isbn; ?>" placeholder="<?php echo $entry_isbn; ?>" id="input-isbn" class="form-control" />
  </div>
</div>

Открываем файл admin/model/catalog/product.php

код:


price = '" . (float)$data['price'] . "',

заменяем на:


price = '" . (float)$data['price'] * ($data['mpn']?$data['mpn']:1) . "',

Открываем файл admin/controller/catalog/product.php

Находим строки:


if (isset($this->request->post['price'])) {
	$data['price'] = $this->request->post['price'];
} elseif (!empty($product_info)) {
	$data['price'] = $product_info['price'];
} else {
	$data['price'] = '';
}  

Меняем их на:


if (isset($this->request->post['price'])) {
	$data['price'] = $this->request->post['price']/($this->request->post['mpn']?$this->request->post['mpn']:1);
} elseif (!empty($product_info)) {
	$data['price'] = $product_info['price'] / ($product_info['mpn']?$product_info['mpn']:1);
} else {
	$data['price'] = '';
}

 

Фронт

Открываем файл catalog/controller/product/product.php

Находим строки:


if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
	$data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')));
} else {
	$data['price'] = false;
}

Меняем их на:


if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
	$data['price'] = $this->currency->format($this->tax->calculate($product_info['price'] / ($product_info['mpn']?$product_info['mpn']:1), $product_info['tax_class_id'], $this->config->get('config_tax')));
} else {
	$data['price'] = false;
}

После этих строк вставляем


$data['in_box'] = $product_info['mpn'];
$data['count_in_box'] = $product_info['isbn'];

Открываем файл catalog/view/theme/default/template/product/product.tpl

Ищем код:


<input type="text" name="quantity" value="<?php echo $minimum; ?>" size="2" id="input-quantity" class="form-control" />

Меняем его на:


<div class="col-sm-12 form-group">
  <div class="col-sm-3">
    <span data-type="q_minus" class="control-in-de btn btn-primary btn-block">-</span>
  </div>
  <div class="col-sm-6">
    <input type="text" name="quantity_in_box" value="<?php echo $minimum * ($in_box?$in_box:1); ?> кв.м. (<?php echo $minimum; ?> уп.)" size="2" id="input-quantity" class="form-control" />
    <input type="hidden" name="quantity" value="<?php echo $minimum; ?>" />
  </div>
  <div class="col-sm-3">
    <span data-type="q_plus" class="control-in-de btn btn-primary btn-block">+</span>
  </div>
</div>

далее находим:


<?php echo $footer; ?>

И перед этой строкой вставляем


<script>
$('.control-in-de').click(function(){ 
	if($(this).data('type') == 'q_minus'){
	  if($('input[name="quantity"]').val() > '<?php echo $minimum; ?>'){
		$('input[name="quantity"]').val(parseInt($('input[name="quantity"]').val())-1);
	  }
	}else{
		$('input[name="quantity"]').val(parseInt($('input[name="quantity"]').val())+1);					
	}
	in_box = parseInt($('input[name="quantity"]').val())*<?php echo $in_box; ?>;
	$('input[name="quantity_in_box"]').val(in_box.toFixed(2) + ' кв.м. (' + $('input[name="quantity"]').val() + ' уп.)');
});
</script>

Для вывода


	<?php echo $count_in_box; ?>

Открываем файл catalog/controller/product/category.php

Находим строку:


$price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')));

Меняем ее на:


$price = $this->currency->format($this->tax->calculate($result['price'] / ($result['mpn']?$result['mpn']:1), $result['tax_class_id'], $this->config->get('config_tax')));

 

  • +1 1
Надіслати
Поділитися на інших сайтах


  • 2 weeks later...
В 18.07.2018 в 15:42, AWARO сказал:

@strojremont

https://opencartforum.com/search/?q=квадратные метры

 

  Показать контент

Открываем файл admin/catalog/view/template/catalog/product_form.tpl

ищем строки:



<div class="form-group">
  <label class="col-sm-2 control-label" for="input-price"><?php echo $entry_price; ?></label>
  <div class="col-sm-10">
	<input type="text" name="price" value="<?php echo $price; ?>" placeholder="<?php echo $entry_price; ?>" id="input-price" class="form-control" />
  </div>
</div>

после них вставляем:



<div class="form-group">
  <label class="col-sm-2 control-label" for="input-mpn">Количество м<sup>2</sup> в упаковке</label>
  <div class="col-sm-10">
    <input type="text" name="mpn" value="<?php echo $mpn; ?>" id="input-mpn" class="form-control" />
  </div>
</div>

Эти строки удаляем:



<div class="form-group">
  <label class="col-sm-2 control-label" for="input-mpn"><span data-toggle="tooltip" title="<?php echo $help_mpn; ?>"><?php echo $entry_mpn; ?></span></label>
  <div class="col-sm-10">
   <input type="text" name="mpn" value="<?php echo $mpn; ?>" placeholder="<?php echo $entry_mpn; ?>" id="input-mpn" class="form-control" />
  </div>
</div>

 

 

Поле для ввода количества штук в упаковке
после строк выше добавляем:



<div class="form-group">
  <label class="col-sm-2 control-label" for="input-isbn"><span data-toggle="tooltip" >Количество шт. в упаковке</span></label>
  <div class="col-sm-10">
    <input type="text" name="isbn" value="<?php echo $isbn; ?>" placeholder="<?php echo $entry_isbn; ?>" id="input-isbn" class="form-control" />
  </div>
</div>

Удаляем код для ввода isbn



<div class="form-group">
  <label class="col-sm-2 control-label" for="input-isbn"><span data-toggle="tooltip" title="<?php echo $help_isbn; ?>"><?php echo $entry_isbn; ?></span></label>
  <div class="col-sm-10">
    <input type="text" name="isbn" value="<?php echo $isbn; ?>" placeholder="<?php echo $entry_isbn; ?>" id="input-isbn" class="form-control" />
  </div>
</div>

Открываем файл admin/model/catalog/product.php

код:



price = '" . (float)$data['price'] . "',

заменяем на:



price = '" . (float)$data['price'] * ($data['mpn']?$data['mpn']:1) . "',

Открываем файл admin/controller/catalog/product.php

Находим строки:



if (isset($this->request->post['price'])) {
	$data['price'] = $this->request->post['price'];
} elseif (!empty($product_info)) {
	$data['price'] = $product_info['price'];
} else {
	$data['price'] = '';
}  

Меняем их на:



if (isset($this->request->post['price'])) {
	$data['price'] = $this->request->post['price']/($this->request->post['mpn']?$this->request->post['mpn']:1);
} elseif (!empty($product_info)) {
	$data['price'] = $product_info['price'] / ($product_info['mpn']?$product_info['mpn']:1);
} else {
	$data['price'] = '';
}

 

Фронт

Открываем файл catalog/controller/product/product.php

Находим строки:



if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
	$data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')));
} else {
	$data['price'] = false;
}

Меняем их на:



if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
	$data['price'] = $this->currency->format($this->tax->calculate($product_info['price'] / ($product_info['mpn']?$product_info['mpn']:1), $product_info['tax_class_id'], $this->config->get('config_tax')));
} else {
	$data['price'] = false;
}

После этих строк вставляем



$data['in_box'] = $product_info['mpn'];
$data['count_in_box'] = $product_info['isbn'];

Открываем файл catalog/view/theme/default/template/product/product.tpl

Ищем код:



<input type="text" name="quantity" value="<?php echo $minimum; ?>" size="2" id="input-quantity" class="form-control" />

Меняем его на:



<div class="col-sm-12 form-group">
  <div class="col-sm-3">
    <span data-type="q_minus" class="control-in-de btn btn-primary btn-block">-</span>
  </div>
  <div class="col-sm-6">
    <input type="text" name="quantity_in_box" value="<?php echo $minimum * ($in_box?$in_box:1); ?> кв.м. (<?php echo $minimum; ?> уп.)" size="2" id="input-quantity" class="form-control" />
    <input type="hidden" name="quantity" value="<?php echo $minimum; ?>" />
  </div>
  <div class="col-sm-3">
    <span data-type="q_plus" class="control-in-de btn btn-primary btn-block">+</span>
  </div>
</div>

далее находим:



<?php echo $footer; ?>

И перед этой строкой вставляем



<script>
$('.control-in-de').click(function(){ 
	if($(this).data('type') == 'q_minus'){
	  if($('input[name="quantity"]').val() > '<?php echo $minimum; ?>'){
		$('input[name="quantity"]').val(parseInt($('input[name="quantity"]').val())-1);
	  }
	}else{
		$('input[name="quantity"]').val(parseInt($('input[name="quantity"]').val())+1);					
	}
	in_box = parseInt($('input[name="quantity"]').val())*<?php echo $in_box; ?>;
	$('input[name="quantity_in_box"]').val(in_box.toFixed(2) + ' кв.м. (' + $('input[name="quantity"]').val() + ' уп.)');
});
</script>

Для вывода



	<?php echo $count_in_box; ?>

Открываем файл catalog/controller/product/category.php

Находим строку:



$price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')));

Меняем ее на:



$price = $this->currency->format($this->tax->calculate($result['price'] / ($result['mpn']?$result['mpn']:1), $result['tax_class_id'], $this->config->get('config_tax')));

 

 

А можете мне на платных условиях это осуществить? У самой не получается......

Надіслати
Поділитися на інших сайтах


В 18.07.2018 в 13:07, afinalux сказал:

Как вариант "дешево и сердито":

Заносим кол-во кв.м в упаковке в любое неиспользуемое поле товар(jan, например). 

Или используем для этого атрибуты.

Идем в контроллер товара и добавляем вывод этого поля в шаблон(если атрибуты, то они и так обычно уже там есть)

В шаблоне для вывода кол-ва кв.м делаем кол-во * на содержимое нашего поля/атрибута

Для отображения всяких там цен за кв.м производим соответствующие арифметические операции с нашим полем/атрибутом.

Подробнее могу в личке рассказать или сделать сам, но за деньги.

А можете мне на платных условиях это осуществить? У самой не получается......

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.