-
Публікації
19 -
З нами
-
Відвідування
Тип публікації
Профілі
Форум
Маркетплейс
Статті
FAQ
Наші новини
Магазин
Блоги
module__dplus_manager
Повідомлення, опубліковані користувачем maxos
-
-
А как узнать какие файлы были добавлены модулем?
Точнее вопрос - как можно вытянуть модуль из готовой установки, чтобы использовать на другом сайте?
-
разобрался
проблема была с тем что "this" это window был при вызове из html
помогло это https://stackoverflow.com/questions/12456399/how-to-use-this-reference-of-the-element-calling-the-function
-
в js темы был такой код
Spoiler(function ($) { var o = $('input[name*="quantity"]'); $(document).ready(function () { $('.counter-minus').click(function (e) { e.preventDefault(); input = $(this).parent().find('input[name*="quantity"]'); if (input.val() > 1) { value = parseInt(input.val()) - 1; input.val(value); } }) $('.counter-plus').click(function (e) { e.preventDefault(); input = $(this).parent().find('input[name*="quantity"]'); value = parseInt(input.val()) + 1; input.val(value); }); }); })(jQuery);
и он увеличивал уменьшал значения,
я его и копировал и менял
в итоге у меня не работает изменение значения
и он увеличивал уменьшал значения,
я его и копировал и менял
в итоге у меня не работает изменение значения
Spoilerfunction plussubmit() { var input, value; input = $(this).parent().find('input[name*="quantity"]'); value = parseInt(input.val()) + 1; input.val(value); setTimeout(function () { $.ajax({ type: 'post', url: 'index.php?route=checkout/cart/edit', data: $('#mx-cart').serialize(), success: function () { $('#content').load('/cart #content'); } }); }, 100); };
-
почти домучал.
В общем сделал пару функций. Когда они были через document.ready в js файле , то они слетали после первого срабатывания
теперь засунул в код в перегружаемом элементе, но все равно срабатывает ток один раз.
Точнее перегружается каждый раз. а вот изменение количества не срабатывает.
Spoiler<button onclick="minussubmit()" type="button" class="counter counter-minus material-design-horizontal39"></button> <input type="text" name="quantity[<?php echo $product['cart_id']; ?>]" value="<?php echo $product['quantity']; ?>" size="1" class="form-control cart-q" id="cart-q"/> <button onclick="plussubmit()" type="button" class="counter counter-plus material-design-add186"></button> <script> function minussubmit(){ var input = $(this).parent().find('input[name*="quantity"]'); if (input.val() > 1) { var value = parseInt(input.val()) - 1; input.val(value); } setTimeout(function () { $.ajax({ type: 'post', url: 'index.php?route=checkout/cart/edit', data: $('#mx-cart').serialize(), success: function () { $('#content').load('/cart #content'); } }); }, 100); }; function plussubmit(){ var input = $(this).siblings('input[name*="quantity"]'); setTimeout(function () { var value = parseInt(input.val()) + 1; input.val(value); }, 100); setTimeout(function () { $.ajax({ type: 'post', url: 'index.php?route=checkout/cart/edit', data: $('#mx-cart').serialize(), success: function () { $('#content').load('/cart #content'); } }); }, 100); }; </script>
-
заменил common.js на дефолтны, заработало. Но только стоимость в header забивает.
Я так понимаю в теме сильно переделан common.js
у меня получилось сделать частичное обновление стоимости на один товар, но есть проблема когда два и общая стоимость. И количество которое $this->request->post['quantity']; как то отловить надо для след изменения кол-ва
В общем думаб сейчас как бы это реализовать, оно вроде понятно, но как то заморочисто.
Может попоробовать весь div с корзиной заменить через AJAX. Я правда в этом не силен..
-
Спасибо, вроде получилось, но частично.
Ошибок нет, но и стоимость не обновляется
куда дальше копать...
Spoilerpublic function edit() { $this->load->language('checkout/cart'); $json = array(); //test // tets // Update $mxcartupd = $this->request->post['quantity']; if (!empty ($this->request->post['quantity'])) { if (is_array($this->request->post['quantity'])) { foreach ($this->request->post['quantity'] as $key => $value) { $this->cart->update($key, $value); unset($this->session->data['shipping_method']); unset($this->session->data['shipping_methods']); unset($this->session->data['payment_method']); unset($this->session->data['payment_methods']); unset($this->session->data['reward']); $this->response->redirect($this->url->link('checkout/cart')); } $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json)); } else { $this->cart->update($this->request->post['key'], $mxcartupd); unset($this->session->data['shipping_method']); unset($this->session->data['shipping_methods']); unset($this->session->data['payment_method']); unset($this->session->data['payment_methods']); unset($this->session->data['reward']); $mxtet=$this->session->data['currency']; $json['total'] = sprintf($this->currency->format($this->cart->getTotal(), $this->session->data['currency'])); $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json)); //$this->response->redirect($this->url->link('checkout/cart')); } } }
-
On 11.07.2017 at 4:31 PM, paulittop said:
Invalid argument supplied for foreach() in <b>/Users/MacBook/Sites/TEXNOSALES/catalog/controller/checkout/cart.php</b> on line <b>414</b>
Так а что с этим то делать
Cейчас пытаюсь, сделать то же самое. Обновление стоимости по нажатиям + и -
Но что то дальше процитированной ошибки не получается продвинуться
Кнопка + выглядит вот так
<a onclick="cart.update('<?php echo $product['cart_id']; ?>', '<?php echo $product['quantity']; ?>');" class="counter counter-plus material-design-add186" href='#' data-toggle="tooltip" title="" data-original-title="Больше"></a>
и при нажатии ошибка Invalid argument supplied for foreach()
вот контроллер - функция edit
public function edit() { $this->load->language('checkout/cart'); $json = array(); // Update if (!empty($this->request->post['quantity'])) { foreach ($this->request->post['quantity'] as $key => $value) { $this->cart->update($key, $value); } unset($this->session->data['shipping_method']); unset($this->session->data['shipping_methods']); unset($this->session->data['payment_method']); unset($this->session->data['payment_methods']); unset($this->session->data['reward']); $this->response->redirect($this->url->link('checkout/cart')); } $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json)); }
Спасибо
-
ftp настроено, другие модули ставятся
Блииин, закрывающий </file> пропустил
все, заработало
-
переименовал install.xml в index.xml и установилось
и поломало сайт
в общем еще не получается
-
-
ааа, ток заметил что я папку пакую а не файлы. Спасибо еще раз
-
Маленькая, проблема, расширение не устанавливается
"Каталог, содержащий файлы для загрузки не может быть найден!"
-
всем спасибо, теперь намного понятнее.
Tom - Это просто пример был, там в другом месте проблема была.
-
А можно еще вопрос. Я так понял js и css этим не поправить.
То есть я так понимаю надо подключить в head свой файл
типа
<operation> <search><![CDATA[</head>]]></search> <add position="before"><![CDATA[<link свой css>]]></add> </operation>
Но не совсем понял, как сделать чтобы этот самый CSS заливался.
Я навeрно путаюсь в VMOD и OCMOD
Я так понимаю в архиве "myextenstion.ocmod.zip" нужно сделать папку upload и туда вложить файл стилей. Но наверно как то надо путь прописать (как то upload/mymodule/style.css) там куда его заливать. Куда вообще положено заливать файлы стилей модулей (расширений)?
вроде сюда
catalog/view/theme/default/stylesheet/mystyle.cssа если тема поменяется. Или дефолтная всегда есть. И путь задать без {THEME}
-
Спасибо, я так и сделал, ток before и offset-1
-
Доброго дня.
Я пытаюсь написать, модификатор (расширение) - дабы не менять файлы темы и админ части.
Вроде получается. но есть пара вопросов
Если искомый текст с пробелами, то он не ищется. Я так понял можно использовать trim - но он ни в true ни в false ни вобще без него все равно не находит нужный кусок кода.
Пример
<operation> <search><![CDATA[<?php foreach ($categories['manufacturer'] as $manufacturer) { ?> <div class="col-xs-6 col-sm-6 text-center"> <a href="<?php echo $manufacturer['href']; ?>"> <img src="/image/<?= $manufacturer['image']; ?>" alt="<?= $manufacturer['name']; ?>" title="<?= $manufacturer['image']; ?>"> </a> </div> <?php } ?>]]></search> <add position="replace"><![CDATA[<?php foreach ($categories['manufacturer'] as $manufacturer) { ?> <div class="col-xs-6 col-sm-6 text-center"> <a href="<?php echo $manufacturer['href']; ?>"> <img src="/image/<?= $manufacturer['image']; ?>" alt="<?= $manufacturer['name']; ?>" title="<?= $manufacturer['image']; ?>"><br/><span><?= $manufacturer['name']; ?></span> </a> </div> <?php } ?>]]></add> </operation>
Подскажите, где расположены файлы ocmod
в Opencart 2.x: Пісочниця
Опубліковано: · Змінено користувачем maxos
Я всегда заставляю клиентов покупать платные дополнения (в wordpress), но сначала стараюсь проверить, что оно будет работать.
С opencart я пока новичок, и как то боязно покупать, то что возможно не подойдет по каким либо причинам.
И еще вопрос попутно, если удалить модуль через админку (Opencart2.x) он свои файлы удалит ? Насколько я вижу нет, а это как бы лишние файлы уже получаются. Или я что то не понимаю.