Виталий

Виталий

С нами с 06 декабря 2015; Место в рейтинге пользователей: #435

вычислить количество товара для заказа при зафиксированной минимальной сумме

привет, буду благодарен совету, не знаю как решить такую задачу.

делаю xml фид, в котором нужно для каждого товара minishop определить минимальное количество товара(вес) для заказа. У каждого товара заполнен вес. Есть товары, которые продаются по цене за 1кг и есть, которые упаковками (вес может быть как меньше 1кг, так и больше). Минимальная сумма заказа товара — 1500р.

соорудил такую конструкцию на fenom, но не знаю как высчитать значение (Минимальный заказ3), чтобы чтобы было кратно весу(упаковки) и стоимости заказа больше 1500р
Виталий
05 марта 2021, 15:28
modx.pro
519
0

Программист MODX Revo

20 40 000
Небольшая компания в Краснодаре ищет программиста на MODX Revo в офис по причине загруженности. Занимаемся SEO и большинство проектов реализовано на этом фреймворке, так же активно предлагаем его всем новым клиентам.
С чем мы работаем:
  1. Небольшие интернет-магазины, каталоги и сайты услуг от 5 до 10000 страниц
  2. minishop2, PDOTools, Seofilter, Office, msDiscount и другие дополнения из modstore
  3. Bootstrap 3\4
  4. Оптимизация кода, ускорение загрузки сайтов
Заработная плата 30-50т.р. в месяц на руки на старте в зависимости от ваших знаний и умения решать поставленные задачи

Для связи:
Телеграм chaminva
Скайп chamin_vitaly
Виталий
25 октября 2019, 13:16
modx.pro
496
0

Переключение вида список\плитка и js

Добрый день
в категории товаров, в чанке tpl.msProducts.row, добавление товаров в корзину осуществляется с изменением количества (кнопки + и -) с помощью js:
function itemCount(field){
    var fieldCount = function(el) {
        var
	    // Мин. значение
	    min = el.data('min') || false,
	    // Макс. значение
	    max = el.data('max') || false,
	    // Кнопка уменьшения кол-ва
	    dec = el.prev('.minus'),
	    // Кнопка увеличения кол-ва
	    inc = el.next('.plus');
	function init(el) {
	    if(!el.attr('disabled')){
		dec.on('click touchstart', decrement);
		inc.on('click touchstart', increment);
	    }
	    // Уменьшим значение
	    function decrement() {
		var value = parseInt(el[0].value);
		value--;
		if(!min || value >= min) {
		    el[0].value = value;
	         }
		el.trigger('change')	 
	    }
	   // Увеличим значение
	   function increment() {
		var value = parseInt(el[0].value);
		value++;
		if(!max || value <= max) {
		    el[0].value = value++;
		}
		el.trigger('change')
	    }
		
	}
	el.each(function() {
	    init($(this));
	});
    };
	
    $(field).each(function(){
        fieldCount($(this));
    });
	
		
 } itemCount('[data-amout="amout"]');
но при переключении вида отображения список\плитка скрипт не срабатывает. Т.е. если сразу зайти на страницу любого из вариантов, то все корректно работает, а если переключиться то нет. Подскажите, почему так происходит?
Виталий
14 октября 2019, 10:06
modx.pro
807
0

Ссылка добавления в корзину minishop2

Всем привет.
Подскажите, как сделать ссылку, чтобы при переходе по ней, товар добавлялся в корзину.
Для турбо-страниц нужно, чтобы было примерно так: example.com/cart?id=272, где 272 это id товара
Виталий
20 сентября 2018, 12:21
modx.pro
1
2 113
0

MS2 вывод по разнице price-old_price в процентах

30
Привет!
Переношу эту задачу из раздела вопросы.

Мне нужно вывести товары minisop2 отсортированные по проценту разницы price и old_price

т.е.

[[!pdoPage?
				&element=`msProducts`
				&tpl=`tpl`
				&sortby=`этот_процент`
				&sortdir=`DESC`
			]]
для получения этого процента в товаре я использую сниппет [[!procent]]

<?php
$price2 = str_replace(" ","",$modx->resource->get('price'));
$old_price2 = str_replace(" ","",$modx->resource->get('old_price'));
$pricevariations = $old_price2 - $price2;

if($old_price2 > 0){
  echo '<div class="procent"><span>'.number_format(round(($pricevariations / $old_price2) * 100), 0, '.', ' ') .'</span></div>';
}
чтобы этот же процент получить в категории товаров пришлось сниппет немного изменить

<?php
$price2 = str_replace(" ","",empty($price) ? 0 : $price);
$old_price2 = str_replace(" ","",empty($old_price) ? 0 : $old_price);
if($old_price2 > 0){
  return '<div class="procent"><span>'.number_format(round((($old_price2 - $price2) / $old_price2) * 100), 0, '.', ' ') .'</span></div>';
} 
return '';
и его вызов
[[!procent_category? &price=`[[+price]]` &old_price=`[[+old_price]]`]]
Это работает. Но теперь нужно сделать вывод товара отсортированного по возрастанию или убыванию по этому проценту и, например, не показывать товары, где процент меньше 10%.
Проще говоря, мне нужно работать с этой цифрой, как с ценой.

Как я понимаю и мне подсказывают это число нужно высчитывать и записывать в бд сразу при сохранении товара. В магазине около 1000 товаров, их пересохранять нет желания.

Хотелось бы решение в виде плагина или пошаговой инструкции.
Доступ к сайту не даю.

Готов выслушать Ваши предложения…
Виталий
21 декабря 2016, 09:17
modx.pro
1
1 543
+1

вывод по разнице price-old_price в процентах

Привет!
Я учусь и появилась следующая задача:
Вывести товары minisop2 отсортированные по проценту разницы price и old_price

т.е.

[[!pdoPage?
				&element=`msProducts`
				&tpl=`tpl`
				&sortby=`этот_процент`
				&sortdir=`DESC`
			]]
для получения этого процента в товаре я использую сниппет [[!procent]]

<?php
$price2 = str_replace(" ","",$modx->resource->get('price'));
$old_price2 = str_replace(" ","",$modx->resource->get('old_price'));
$pricevariations = $old_price2 - $price2;

if($old_price2 > 0){
  echo '<div class="procent"><span>'.number_format(round(($pricevariations / $old_price2) * 100), 0, '.', ' ') .'</span></div>';
}
чтобы этот же процент получить в категории товаров пришлось сниппет немного изменить

<?php
$price2 = str_replace(" ","",empty($price) ? 0 : $price);
$old_price2 = str_replace(" ","",empty($old_price) ? 0 : $old_price);
if($old_price2 > 0){
  return '<div class="procent"><span>'.number_format(round((($old_price2 - $price2) / $old_price2) * 100), 0, '.', ' ') .'</span></div>';
} 
return '';
и его вызов
[[!procent_category? &price=`[[+price]]` &old_price=`[[+old_price]]`]]
Это работает. Но теперь нужно сделать вывод товара отсортировнного по возрастанию или убыванию по этому проценту и, например, не показывать товары, где процент меньше 10%.

Кто-нибудь решал подобную задачу? Гуру, подскажите!

пробовал еще такую конструкцию, но по плейсхолдеру pricevariations – сортировки не происходит
[[+old_price:isnot=`0`:then=`[[+old_price:replace=` ==`:subtract=`[[+price:replace=` ==`]]`:div=`[[+old_price:replace=` ==`]]`:mpy=`100`:toPlaceholder=`pricevariations`]]`:else=``]]
Виталий
10 декабря 2016, 08:32
modx.pro
2
1 853
0

Размер скидки minishop2

Всем привет!
Есть задача фильтровать и сортировать товары с учетом процента скидки.
Вопрос уже поднимался, нашел такое решение:
<?php
$price = empty($price) ? 0 : $price;
$old_price = empty($old_price) ? 0 : $old_price;

if($old_price > 0){
  return ''.round((($old_price - $price) / $old_price) * 100);
} 
return '';
и такое
<?php
return ($modx->resource->get('price') - $modx->resource->get('old_price'))/$modx->resource->get('price')*100;
Но на сколько я понимаю значение нужно записывать в БД, чтобы была возможность работать с ним дальше.
как это делается?
Виталий
07 июня 2016, 06:46
modx.pro
1 413
0

Url картинок товаров minishop2 после переноса

Всем добрый день!
Возникла необходимость переноса сайта на локалхост (openServer) для изменения.
Делаю такую процедуру в первый раз, но думаю, она не должна отличаться от обратной – с локалхоста на сервер.
Сайт работает правильно, только проблема с картинками minishop2 — они не показываются
путь в firebug такой
<img src="/assets/images/products/93/360x270/princess-217400.jpg" width="100%" height="" alt="" title="" id="mainImage">
открывая эту картинку в новой вкладке получаю следующий адрес
http://localhost/assets/images/products/93/princess-217400.gif
никак не найду где мне нужно изменить путь, подскажите пожалуйста!
Виталий
20 февраля 2016, 09:58
modx.pro
3 016
0