Jump to content
Sign in to follow this  
Marianna

Скидки discount

Recommended Posts

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

admin\view\template\catalog\product_form.tpl

Share this post


Link to post
Share on other sites

admin\view\template\catalog\product_form.tpl

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

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

 

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

где?

Share this post


Link to post
Share on other sites

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

  • +1 1

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

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

 

где?

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

Share this post


Link to post
Share on other sites
Руководство к действию
 

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

Share this post


Link to post
Share on other sites
 

 

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

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 с дефолтным шаблоном.

 

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

Share this post


Link to post
Share on other sites

оказалось что в сборке макс стор, есть как обычный 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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

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.