mindthegap
-
Публікації
21 -
З нами
-
Відвідування
Тип публікації
Профілі
Форум
Маркетплейс
Статті
FAQ
Наші новини
Магазин
Блоги
module__dplus_manager
Повідомлення, опубліковані користувачем mindthegap
-
-
Необходимо сделать сортировку товаров по производителю на странице product/special. ТЗ - по запросу в ЛС или на e-mail:
-
Временно неактуально.
-
Необходимо перенести магазин c Ocstore v.1.5 на Ocstore v 2.1.0.1. Перенести все данные из БД о заказах, пользователях, проданных товарах и т.д., установить новый шаблон и перенести часть модулей (установить новые). Подробное ТЗ вышлю в лс по запросу.
-
Спасибо всем, кто отписался. Пришлось отказаться от решения с перезагрузкой страницы.
-
Привязал язык к валюте следующим образом. В контролере языка вывел:
$this->currency->set($this->request->post['currency_code']); unset($this->session->data['shipping_methods']); unset($this->session->data['shipping_method']);
И в шаблоне:
<form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data"> <div id="language"> <?php foreach ($languages as $language) { if($language['code'] == 'en') { $cur_ = 'GBP'; } else { $cur_ = 'EUR'; } ?> <img src="image/flags/<?php echo $language['image']; ?>" alt="<?php echo $language['name']; ?>" title="<?php echo $language['name']; ?>" onclick="$('input[name=\'language_code\']').attr('value', '<?php echo $language['code']; ?>');$('input[name=\'currency_code\']').attr('value', '<?php echo $cur_; ?>'); $(this).parent().parent().submit();" /> <?php } ?> <input type="hidden" name="language_code" value="" /> <input type="hidden" name="currency_code" value="" /> <input type="hidden" name="redirect" value="<?php echo $redirect; ?>" /> </div> </form>
Но валюта не переключается вместе с языком. Почему такое может быть?
-
Каким образом лучше реализовать?
Стандартный метод тут не работает.
// unset cookies if (isset($_SERVER['HTTP_COOKIE'])) { $cookies = explode(';', $_SERVER['HTTP_COOKIE']); foreach($cookies as $cookie) { $parts = explode('=', $cookie); $name = trim($parts[0]); setcookie($name, '', time()-1000); setcookie($name, '', time()-1000, '/'); } }
-
{ваши редиректы (ну миллионы ведь статей в свободном доступе)}
...родные правила движка
Пробовал, но не работает ни так:
RewriteRule ^categoria/(.*) category [L]
ни так:
RewriteRule ^categoria/category [L]
В чем может быть проблема?
-
Здравствуйте! В магазине поменялось около 200 урлов, есть список старый keyword -> новый keyword. Как из этого сделать редиректы со старых урл на новые? Все стандартные способы не работают, т.к. у меня в наличии только кейворды, а не полные пути.
-
Доброго времени суток. Вывел опции в модули рекомендуемые, акции и хиты продаж и подключил скрипт для пересчета цены при выборе опций. Сам скрипт под спойлером. Но получилась непонятная ситуация: в рекомендуемых все отлично работает и цена считается, а в акциях и хитах продаж получаю NaN вместо цены, хотя параметры передаются вроде такие же, как и в рекомендуемых. Как выяснить проблему?
Скрипт
function price_format(n) { c = <?php echo (empty($currency['decimals']) ? "0" : $currency['decimals'] ); ?>; d = '<?php echo $currency['decimal_point']; ?>'; // decimal separator t = '<?php echo $currency['thousand_point']; ?>'; // thousands separator s_left = '<?php echo $currency['symbol_left']; ?>'; s_right = '<?php echo $currency['symbol_right']; ?>'; n = n * <?php echo $currency['value']; ?>; //sign = (n < 0) ? '-' : ''; //extracting the absolute value of the integer part of the number and converting to string i = parseInt(n = Math.abs(n).toFixed(c)) + ''; j = ((j = i.length) > 3) ? j % 3 : 0; return s_left + (j ? i.substr(0, j) + t : '') + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : '') + s_right; } function calc_price(pid) { var main_price = Number($('#formated_price_'+pid).attr('price')); var special = Number($('#formated_special_'+pid).attr('price')); var options_price = 0; $('#option_'+pid+' option:selected').each(function() { if ($(this).attr('price_prefix') == '=') { main_price = Number($(this).attr('price')); special = main_price; // tax = main_price; } }); $('#option_'+pid+' option:selected').each(function() { if ($(this).attr('price_prefix') == '*') { main_price = main_price * Number($(this).attr('price')); special = special * Number($(this).attr('price')); // tax = tax * Number($(this).attr('price')); } }); $('#option_'+pid+' option:selected').each(function() { if ($(this).attr('price_prefix') == '+') options_price = options_price + Number($(this).attr('price')); if ($(this).attr('price_prefix') == '-') options_price = options_price - Number($(this).attr('price')); }); // Calculate new price (With options). var new_price = main_price + options_price; var new_special = special + options_price; // Display Main Price $('#formated_price_'+pid).html( price_format(new_price) ); $('#formated_special_'+pid).html( price_format(new_special) ); } <?php foreach ($products as $product) { ?> calc_price(<?php echo $product['product_id']; ?>); <?php } ?>
Модуль Акции, после компиляции кода в браузере
<div class="box"> <div class="box-heading">Акции</div> <div class="box-content"> <div id="box-product"> <div> <div class="image"><a href="http://opencart/index.php?route=product/product&product_id=80"><img src="http://opencart/image/cache/data/10339-250x300.png" alt="Test Product" /></a></div> <div class="name"><a href="http://opencart/index.php?route=product/product&product_id=80">Test Product</a></div> <div class="price"> <span class="price-old">2 000 р.</span><span class="price-new"><span id="formated_special_80" price="1200.0000">1 200 р.</span></span> </div> <div class="cart"> <div class="options"> <div id="option_80"> <div id="option-248" class="option"> <select name="option[250]" onchange="calc_price(82);" > <option value="64"price_prefix="+" price="280 р.">0.7 кг</option> <option value="65"price_prefix="=" price="1 444 р.">1.84 кг</option> <option value="66"price_prefix="+" price="200 р.">2.72 кг</option> </select> </div> </div> </div> <input type="button" value="В корзину" class="button" /> </div> </div>
Скрипт, после компиляции кода в браузере
<script type="text/javascript"><!-- function price_format(n) { c = 0; d = '.'; // decimal separator t = ' '; // thousands separator s_left = ''; s_right = ' р.'; n = n * 1.00000000; //sign = (n < 0) ? '-' : ''; //extracting the absolute value of the integer part of the number and converting to string i = parseInt(n = Math.abs(n).toFixed(c)) + ''; j = ((j = i.length) > 3) ? j % 3 : 0; return s_left + (j ? i.substr(0, j) + t : '') + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : '') + s_right; } function calc_price(pid) { var main_price = Number($('#formated_price_'+pid).attr('price')); var special = Number($('#formated_special_'+pid).attr('price')); var options_price = 0; $('#option_'+pid+' option:selected').each(function() { if ($(this).attr('price_prefix') == '=') { main_price = Number($(this).attr('price')); special = main_price; // tax = main_price; } }); $('#option_'+pid+' option:selected').each(function() { if ($(this).attr('price_prefix') == '*') { main_price = main_price * Number($(this).attr('price')); special = special * Number($(this).attr('price')); // tax = tax * Number($(this).attr('price')); } }); $('#option_'+pid+' option:selected').each(function() { if ($(this).attr('price_prefix') == '+') options_price = options_price + Number($(this).attr('price')); if ($(this).attr('price_prefix') == '-') options_price = options_price - Number($(this).attr('price')); }); // Calculate new price (With options). var new_price = main_price + options_price; var new_special = special + options_price; // Display Main Price $('#formated_price_'+pid).html( price_format(new_price) ); $('#formated_special_'+pid).html( price_format(new_special) ); } calc_price(80); calc_price(78); calc_price(77); calc_price(79); calc_price(82); //--></script>
-
Здравствуйте. Большое спасибо за помощь в прошлой теме. Еще один вопрос возник, пока не знаю, как подступиться. Как отсортировать сопутствующие товары (которые задаются в карточке товара, в разделе связи) по id? Нужно вывести их по порядку, т.е. 1,2,3,4 и т.д.
-
Большое спасибо, очень помогли. Жаль нельзя поднять репутацию на форуме.Была похожая задача:
-
Здравствуйте, мне необходимо, если корзина становится пустой - присвоить ей класс empty. На php это реализовал, а вот на jquery - не получается. Пробовал отслеживать текст "Товаров: 0 (0 р.)", получилось примерно так:
if ($('#cart-total:contains("Товаров: 0 (0 р.)")').length > 0) { $("#cart").addClass("empty"); }
Все работает, но только после перезагрузки. Когда же удаляешь товары - класс не меняется. Пробовал отслеживать изменения в реальном времени, тоже ничего:
$('#cart-total').bind("DOMSubtreeModified",function(){ if ($('#cart-total:contains("Товаров: 0 (0 р.)")').length > 0) { $("#cart-icn").addClass("empty"); } });
Как сделать так, если человек удалил все товары из корзины и она стала пустой, то ей присваивался класс empty через jquery?
-
Необходимо обновить магазин с ocStore c 1.5.1.3 до 1.5.5.1.2 и установить шаблон Journal. Жду ваших предложений.
-
-
Здравствуйте. Нужен простой скрипт, для импорта данных из xml-файла в БД. Сам xml-файл с данными автоматически скачивается каждый день на сервер. Файл содержит:
- Артикул товара
- Цена
- Информация о наличии
Необходимо написать простой скрипт, запускаемый из браузера и импортирующий данные из xml в соответствующий столбцы БД (sku, price, quantity).
-
Здравствуйте. Требуется перенос инетрнет-магазина с Drupal на Opencart с переносом товаров, атрибутов, сохранением дизайна и всех url-ов.
-
Есть обычные Опенкартовские категории, к которым прикручен таймер обратного отсчета. В админке у этих категорий выбирается изображение (как обычно в Опенкарт) и выставляется дата начала и конца отсчета. В самом магазине это выглядит как таймер в категории, которая отключается после окончания времени. Так вот, необходимо реализовать полное удаление категорий из базы (вместо обычного отключения).
-
Спасибо, вывел другое поле с ценой за м, но без валюты. Теперь все работает.
-
движок? версия?
ocStore 1.5.5.1.1
-
Добрый день. Помогите, мучаюсь уже 3 часа. Возникла необходимость сделать простейший калькулятор стоимости в карточке товара. В языках программирования я полный ноль, поэтому не смейтесь. Смысл таков:
<div><b>Расчет стоимости</b></div> <div><input type="text" value="1" id="num" onblur="Add()"></div> <div id="res"></div>
Необходимо, чтобы при введении числа в поле #num в поле #res появлялось #num * $price, т.е. цену товара.
Пробовал реализовать это с помощью php, но контроллер ругался на переменную. Попробовал сделать с помощью js.
<script> function Add(){ var Price = document.getElementById('price'); var Num = document.getElementById('num'); var Res = document.getElementById('res'); Res.innerHTML = Price.innerHTML * Num.value; } </script>
Код почему-то не работает, выдает ошибку.
Дальше пробовал второй вариант:
<script> $(document).ready(function() { $("#num").blur(function(){ price = $("#price").text(); num = $("#num").val(); result = parseInt(price)*parseInt(num); $("#res").text(result); </script>
Подскажите, где моя ошибка?
Как сделать, чтобы вертикальная вкладка была добавлена по умолчанию?
в Допомога програмістам та розробникам
Опубліковано:
Здравствуйте! Пишу модуль для своего сайта, интерфейс аналогичен модулю приветствие и выглядит так:
Мне же нужно, чтобы первая вкладка была добавлена по умолчанию, без ее добавления. Т.е. при первом заходе в модуль, пользователь должен видеть такую картину:
Я так понимаю, что нужно копать код js, но туплю и не могу понять, где именно.