Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

T-ray

Новичок
  
  • Публикаций

    12
  • Зарегистрирован

  • Посещение

1 подписчик

Достижения T-ray

Rookie

Rookie (2/14)

  • Conversation Starter
  • First Post
  • Collaborator
  • Week One Done
  • One Month Later

Последние медали

2

Репутация

  1. Чтобы не указывать вручную идем в меню ОПЦИИ->Определение стилей:
  2. Если можно, дайте ссылку, пожалуйста. https://opencartforum.com/public/style_emoticons/default/icon_question.gifХочется посмотреть какое там решение.
  3. Я менял функцию, она есть в каждом шаблоне, где вызывается менеджер изображений. <script type="text/javascript"><!--function image_upload(field, preview) { $('#dialog').remove(); ... width: 800, ...};//--></script>Изначально в параметре width: стояло было значение 700, я же сделал 800.
  4. Какая версия скрипта?Спрашиваю потому, что это вроде есть в 1.4.8b.
  5. Вот мое решение в отдельной теме, может кого-то устроит: viewtopic.php?f=21&t=461
  6. Во общем, так и не дождавшись предложений в этой теме viewtopic.php?f=15&t=418 по совершенствованию алгоритма, выкладываю свою доработку по автоматическому пересчету цены при выборе опции товара. Сейчас решение под 1.4.8b работает так: При изменении значения опции пересчитывается цена на клиенте (JAVASCRIPT), затем AJAX запрос к серверу чтобы отформатировать значение цены. Во вложении файлы из которых выкусывать доработку. Все новые/измененные участки кода помечены тегами: 100618 ALNAUA Add javascript price recalculate Beginи 100618 ALNAUA Add javascript price recalculate Endт.е. все что между этими тегами переносим себе в теже файлы, в тоже место.Не забудьте сделать резервные копии своих файлов, чтобы восстановиться, если напортачите с переносом. AutoCalculatePrice.zip
  7. Боюсь полностью на стороне клиента не получиться без геморроя, т.к. надо ещё отформатировать цену.На клиенте выкусывать валюту и т.п. - я считаю бред. Валюта может быть и слева и справа, фактически это надо взять класс currency и написать его для клиента на javascript. Может кто-то подскажет другое решение?! Буду признателен. Сейчас у меня уже есть решение под 1.4.8b которое работает так:При изменении значения опции пересчитывается цена на клиенте, затем запрос к серверу чтобы отформатировать значение цены.
  8. Я могу помочь вам бесплатно доделать вариант, пример кода которого я выкладывал выше.Напишите мне в ICQ, номер я вышлю в ЛС.Если будет время, то сделаю пересчет на клиенте для последней версии движка, но не обещаю. Это будет скорее всего в том случае, если кто-то из моих заказчиков оплатит такую доработку для своего магазина. Пока таких желающих нет. ;)
  9. TEMPLATE - product.tpl: <script type="text/javascript"><!-- function recalculateprice(){ $.ajax({ type: 'post', url: 'index.php?route=product/product/recalculateprice', dataType: 'html', data: $('#product :input'), success: function (html) { $('#price').html(html); }, complete: function () { params = { 'fontSize' : '14pt' }; $('.price_int').css('font-size', '2em').animate(params, 'slow'); $('#price').css('padding-top', '23px').animate({'paddingTop' : '25px'}, 'slow'); } }); } recalculateprice(); //--></script>для select'ов добавляем событие onchange="recalculateprice();"CONTROLLER - product.php public function recalculateprice() { if ($this->request->server['REQUEST_METHOD'] == 'POST') { if (isset($this->request->post['option'])) { $options = $this->request->post['option']; } else { $options = array(); } if (isset($this->request->post['product_id'])) { $product_id = $this->request->post['product_id']; } else { return; } } $this->load->model('catalog/product'); $product_query = $this->model_catalog_product->getProduct($product_id); $option_price = 0; foreach ($options as $product_option_value_id) { $option_value_query = $this->db->query("SELECT pov.product_option_id, povd.name, pov.price, pov.quantity, pov.subtract, pov.prefix FROM " . DB_PREFIX . "product_option_value pov LEFT JOIN " . DB_PREFIX . "product_option_value_description povd ON (pov.product_option_value_id = povd.product_option_value_id) WHERE pov.product_option_value_id = '" . (int)$product_option_value_id . "' AND pov.product_id = '" . (int)$product_id . "' AND povd.language_id = '" . (int)$this->language->getId() . "' ORDER BY pov.sort_order"); if ($option_value_query->num_rows) { if ($option_value_query->row['prefix'] == '+') { $option_price = $option_price + $option_value_query->row['price']; } elseif ($option_value_query->row['prefix'] == '-') { $option_price = $option_price - $option_value_query->row['price']; } } } $price = $this->currency->format($this->tax->calculate($product_query['price'] + $option_price, $product_query['tax_class_id'], $this->config->get('config_tax'))); //код для вывода результата, в виде таблицы для ценнника $output = .... ...... $this->response->setOutput($output, $this->config->get('config_compression')); }Естественно, я привел лишь основные куски кода, чтобы было понятно принцип.Можно конечно было сделать изменение цены на стороне клиента, например, добавив атрибут price в тег <option> и выполнять расчет используя javascript, но у меня на это не было времени.
  10. Я делал подобное с помощью AJAX запроса. Пример можно посмотреть тут. Если такое решение подойдет скину код для примера.
×
×
  • Создать...

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

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