Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

T-ray

Newbie
  
  • Posts

    12
  • Joined

  • Last visited

1 Follower

T-ray's Achievements

Rookie

Rookie (2/14)

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

Recent Badges

2

Reputation

  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 запроса. Пример можно посмотреть тут. Если такое решение подойдет скину код для примера.
×
×
  • Create New...

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.