Перейти к содержанию
Marianna

Скидки discount

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

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

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


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

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

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


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

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

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


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

admin\view\template\catalog\product_form.tpl

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


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

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 пользователей онлайн

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

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.