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

Скидки discount


Marianna

Recommended Posts

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

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


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

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


При добавлении товаров есть вкладка "скидки", нужно ее клонировать, изменив переменные и назвав эту вкладку как-то по новому. Можете подсказать какие файлы копать? Спасибо.

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


admin\view\template\catalog\product_form.tpl

мне сказали не все так просто, нужно для этого еще базу создать

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


а никто не знает как изменить порядок вывод этих скидок? почему-то оно выводит от меньшего к большему, а надо наоборот, порядка там нет.

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


мне сказали не все так просто, нужно для этого еще базу создать

Это само собой,раз вы хотите новые данные там выводить.

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

Изменять ОТ ~12 файлов + новая таблица в БД.

Оно вам действительно надо?

 

а никто не знает как изменить порядок вывод этих скидок? почему-то оно выводит от меньшего к большему, а надо наоборот, порядка там нет.

где?

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

Может быть, если меняется только текстовая переменная имеет смысл просто добавить текстовое поле "единица измерения" и не мучаться с клонированием?

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

Может быть, если меняется только текстовая переменная имеет смысл просто добавить текстовое поле "единица измерения" и не мучаться с клонированием?

да :) но я не программист. изначально плохо что в опенкарт не продумали текстовое поле для задания измерения.

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


Изменять ОТ ~12 файлов + новая таблица в БД.

Оно вам действительно надо?

 

где?

в скидках, это таб (закладка) в редактировании товара. А еще лучше если бы можно было писать не 5 пар например, а 3-5 пар.

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


Руководство к действию
 

1. Сделать запрос в БД
ALTER TABLE  `product_discount` ADD  `description` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER  `price` ;

если у таблиц есть префикс, вместо product_discount использовать префикс_product_discount

 
 
2. admin/view/template/catalog/product_form.tpl
найти 
<table id="discount" class="list">
<thead>
  <tr>
    <td class="left"><?php echo $entry_customer_group; ?></td>
    <td class="right"><?php echo $entry_quantity; ?></td>

после добавить 

<td class="right"><?php echo $entry_description; ?></td>
найти 
<td class="right"><input type="text" name="product_discount[<?php echo $discount_row; ?>][quantity]" value="<?php echo $product_discount['quantity']; ?>" size="2" /></td>

после добавить 

<td class="right"><input type="text" name="product_discount[<?php echo $discount_row; ?>][description]" value="<?php echo $product_discount['description']; ?>" size="15" /></td>
найти 
html += '    <td class="right"><input type="text" name="product_discount[' + discount_row + '][quantity]" value="" size="2" /></td>';

после добавить 

html += '    <td class="right"><input type="text" name="product_discount[' + discount_row + '][description]" value="" size="15" /></td>';
найти 
<td colspan="6"></td>
<td class="left"><a onclick="addDiscount();" class="button"><?php echo $button_add_discount; ?></a></td>

заменить на 

<td colspan="7"></td>
<td class="left"><a onclick="addDiscount();" class="button"><?php echo $button_add_discount; ?></a></td>
3. admin/model/catalog/product.php
найти 
$this->db->query("INSERT INTO " . DB_PREFIX . "product_discount SET product_id = '" . (int)$product_id . "', customer_group_id = '" . (int)$product_discount['customer_group_id'] . "', quantity = '" . (int)$product_discount['quantity'] . "', priority = '" . (int)$product_discount['priority'] . "', price = '" . (float)$product_discount['price'] . "', date_start = '" . $this->db->escape($product_discount['date_start']) . "', date_end = '" . $this->db->escape($product_discount['date_end']) . "'");

в файле 2 таких строки

заменить обе на 
$this->db->query("INSERT INTO " . DB_PREFIX . "product_discount SET product_id = '" . (int)$product_id . "', customer_group_id = '" . (int)$product_discount['customer_group_id'] . "', quantity = '" . (int)$product_discount['quantity'] . "', description = '" . $product_discount['description'] . "', priority = '" . (int)$product_discount['priority'] . "', price = '" . (float)$product_discount['price'] . "', date_start = '" . $this->db->escape($product_discount['date_start']) . "', date_end = '" . $this->db->escape($product_discount['date_end']) . "'");
4. catalog/controller/product/product.php
найти 
'quantity' => $discount['quantity'],

после добавить 

'description' => $discount['description'],
5. catalog/view/theme/***/template/product/product.tpl
найти 
<?php echo sprintf($text_discount, $discount['quantity'], $discount['price']); ?><br />

заменить на 

<?php if ($discount['description']) { ?>
  <?php echo $discount['description'] . ': ' . $discount['price']; ?><br />
<?php } else { ?>
  <?php echo sprintf($text_discount, $discount['quantity'], $discount['price']); ?><br />
<?php } ?>

 

Соответственно, на вкладке Скидки появится дополнительный столбец "Описание". Поле текстовое.

Далее механизм такой:

Допустим у Вас 2 варианта скидок, для 3-5 пар и 6 и более пар.

Соответственно, все заполняете как обычно, поле "Количество": 3 и 6 соответственно, а в поле Описание пишете для 3: 3-5 пар, для 6: 6 и более пар.

На странице продукта информация будет выводится так:

3-5 пар: $150.00
6 и более пар: $100.00

 

Проверялось на OCStore 1.5.4.1.2 с дефолтным шаблоном.

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

 

 

Руководство к действию
 

1. Сделать запрос в БД
ALTER TABLE  `product_discount` ADD  `description` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER  `price` ;

если у таблиц есть префикс, вместо product_discount использовать префикс_product_discount

 
 
2. admin/view/template/catalog/product_form.tpl
найти 
<td class="right"><?php echo $entry_quantity; ?></td>

после добавить 

<td class="right"><?php echo $entry_description; ?></td>
найти 
<td class="right"><input type="text" name="product_discount[<?php echo $discount_row; ?>][quantity]" value="<?php echo $product_discount['quantity']; ?>" size="2" /></td>

после добавить 

<td class="right"><input type="text" name="product_discount[<?php echo $discount_row; ?>][description]" value="<?php echo $product_discount['description']; ?>" size="15" /></td>
найти 
html += '    <td class="right"><input type="text" name="product_discount[' + discount_row + '][quantity]" value="" size="2" /></td>';

после добавить 

html += '    <td class="right"><input type="text" name="product_discount[' + discount_row + '][description]" value="" size="15" /></td>';
найти 
<td colspan="6"></td>

заменить на 

<td colspan="7"></td>
3. admin/model/catalog/product.php
найти 
$this->db->query("INSERT INTO " . DB_PREFIX . "product_discount SET product_id = '" . (int)$product_id . "', customer_group_id = '" . (int)$product_discount['customer_group_id'] . "', quantity = '" . (int)$product_discount['quantity'] . "', priority = '" . (int)$product_discount['priority'] . "', price = '" . (float)$product_discount['price'] . "', date_start = '" . $this->db->escape($product_discount['date_start']) . "', date_end = '" . $this->db->escape($product_discount['date_end']) . "'");

в файле 2 таких строки

заменить обе на 
$this->db->query("INSERT INTO " . DB_PREFIX . "product_discount SET product_id = '" . (int)$product_id . "', customer_group_id = '" . (int)$product_discount['customer_group_id'] . "', quantity = '" . (int)$product_discount['quantity'] . "', description = '" . $product_discount['description'] . "', priority = '" . (int)$product_discount['priority'] . "', price = '" . (float)$product_discount['price'] . "', date_start = '" . $this->db->escape($product_discount['date_start']) . "', date_end = '" . $this->db->escape($product_discount['date_end']) . "'");
4. catalog/controller/product/product.php
найти 
'quantity' => $discount['quantity'],

после добавить 

'description' => $discount['description'],
5. catalog/view/theme/***/template/product/product.tpl
найти 
<?php echo sprintf($text_discount, $discount['quantity'], $discount['price']); ?><br />

заменить на 

<?php if ($discount['description']) { ?>
<?php echo $discount['description'] . ': ' . $discount['price']; ?><br />
<?php } else { ?>
<?php echo sprintf($text_discount, $discount['quantity'], $discount['price']); ?><br />
<?php } ?>

 

Соответственно, на вкладке Скидки появится дополнительный столбец "Описание". Поле текстовое.

Далее механизм такой:

Допустим у Вас 2 варианта скидок, для 3-5 пар и 6 и более пар.

Соответственно, все заполняете как обычно, поле "Количество": 3 и 6 соответственно, а в поле Описание пишете для 3: 3-5 пар, для 6: 6 и более пар.

На странице продукта информация будет выводится так:

3-5 пар: $150.00
6 и более пар: $100.00

 

Проверялось на OCStore 1.5.4.1.2 с дефолтным шаблоном.

 

Спасибо большое, к сожалению в админке не появилось поле описание, добавляла все строго по инструкции

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


оказалось что в сборке макс стор, есть как обычный admin/view/template/catalog/product_form.tpl так и /public_html/admin/view/template/catalog/quick_edit_product/quick_product_form.tpl после чего поле описание появилось

Вышло все, у кого сборка макстор еще нужно вместо файла product.php редактировать product_quick.php

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


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

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

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

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

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

Вхід

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

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

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

×
×
  • Створити...

Important Information

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