Андрей

Андрей

С нами с 22 сентября 2014; Место в рейтинге пользователей: #137

Удалить все фото товара через API

Всем привет.
Простой вопрос поставил в тупик — как удалить через API все фото товара?
Я так понимаю такой процессор нужно запускать, но как туда переждать ID фоток зная ID товара?
$response = $modx->runProcessor('components/minishop2/processors/mgr/gallery/multiple',array(
		'method' => 'remove',
		'ids' => '1291,1292',
	));
Андрей
13 июня 2019, 11:38
49
0

После удаления товара через API корзине не обновляется

Добрый день.
Объясню сначала задачу:
1. При заказе товара с определенного раздела, в корзину нужно добавить товар с определенным ID (товар-доставка)
2. Также все должно корректно работать при обновлении корзины и удалении товаров из корзины (если в корзине не осталось товаров с данного раздела, то и доставку нужно убирать)
Но почему-то у меня доставка удаляется но висит в корзине до перезагрузки страницы.

Вот мой стремный код если есть решение изящнее то буду очень благодарен. По сути — нужно установить определенную сумму доставки при наличии в корзине товаров из определенного раздела (категории)

<?php
switch ($modx->event->name) {
	case 'msOnBeforeAddToCart':
		$delivery = 0;
		$parent = $product->get('parent');
		if ($parent == 49 || $parent == 51 || $parent == 52 || $parent == 53 || $parent == 54 || $parent == 55 || $parent == 56) {
			foreach($cart->get() as $key => $value){
				if ($value['id'] == 460) {
					$delivery++;
				}
			}
			if ($delivery == 0) {
				$cart->add(460);
			}
		}
	
	break;
	case 'msOnChangeInCart':
	case 'msOnRemoveFromCart':
		$delivery = 0;
		$parent = 0;
		foreach($cart->get() as $key => $value){
			if ($value['id'] == 460) {
				$delivery++;
				$keys = $key;
			}
			if ($product = $modx->getObject('msProduct', $value['id'])) {
				$pparent = $product->get('parent');
				if ($pparent == 49 || $pparent == 51 || $pparent == 52 || $pparent == 53 || $pparent == 54 || $pparent == 55 || $pparent == 56) {
					$parent++;
				}
			}
		}
		if ($delivery == 0 && $parent != 0) {
			$cart->add(460);
		}
		else if ($delivery == 1 && $parent == 0) {
			$cart->remove($keys);
		}
	
	break;

}
Андрей
11 июня 2019, 20:51
63
0

Скидка в зависимости от суммы заказа

Добрый день.
Направьте, что делаю не так.
Пытаюсь сделать скидку в зависимости от суммы заказа (если более 2500, то 20% скидка)
Что-то не пашет((
<?php
switch ($modx->event->name) {
	case 'msOnAddToCart':
    case 'msOnChangeInCart':
    case 'msOnRemoveFromCart':
    	
    	$cartArray = $cart->get();
        $cartStatus = $cart->status();
        $totalCount = $cartStatus['total_count'];
    	
		if ($total_cost >= 2500) {
			
	        foreach ($cartArray as &$cartProduct) { // Обрабатываем все товары корзины
	            if ($product = $modx->getObject('msProduct', $cartProduct['id'])) { 
	                $cartProduct['price'] = $product->get('price') * 0.8; 
	            }
	        }
	 
	        $cart->set($cartArray);
		}
		
	break;

}
Андрей
10 июня 2019, 18:28
78
0

Доставка товару из категории

Добрый день.
Скажите, как сделать такую вещь:
Если в корзине присутствует товар из определенной категории, то нужно выбрать определенный тип доставки, а остальные для выбора заблокировать?
Пытался так:
в msCart
{foreach $products as $product}
        {set $product_parent[] = $product.parent}
    {/foreach}
И далее в msOrder
{if '18' in $product_parent} disabled{else}{/if}
Но, во первых, массив $product_parent отсутствует в msOrder, а во вторых тогда он отключить все способы доставки)
Андрей
10 июня 2019, 12:56
41
0

Импорт в minishop

5 500
Добрый день.
Необходимо написать скрипт, который будет выполнять импорт информации с файлов с расширением .dat. Внутри serialized массив данных (товары, категории).
Например, файл с категориями имеет следующий вид:
Андрей
18 мая 2019, 08:46
100
0

Скрипт импорта из XML

5 500
Добрый день.

Нужно написать скрипт импорта товаров из XML.
Нужно чтобы импртировались товары, категории и опции товаров.
Файл дам заинтересованным.
Цена также от вас.
Андрей
04 мая 2019, 17:06
104
0

Импорт из XML нескольких позиций в одну

Добрый день.
Есть XML выгрузка от поставщика, в ней каждый цвет товара представлен отдельным offer, каждый из них обладает уникальным атрибутом ID. Но в тоже время артикул у всех этих позиций одинаковый. В таком случае при простом разборе создаются куча товаров с разными цветами, но по сути одного и того же товара.
Подскажите, как реализовать импорт этих позиций в одну. Главное чтобы падали цвета и фото в один товар.
Андрей
24 марта 2019, 10:31
59
0

Оформление заказов в ЛК Office

Добрый день.
Возникла задача сделать так, чтобы не оформленные заказы были видны пользователю в ЛК Office. Скажите, можно ли такое в принципе реализовать и куда смотреть? Безусловно, актуально только для зарегистрированных и авторизованных пользователей. Может нужно как-то увязать ordersUnformed и Office?
Андрей
01 февраля 2019, 11:35
170
0

Связи товаров по TV через API

Добрый день.
Подскажите, можно ли как-то организовать связи товаров через API? но и использованием не ID товара, а например его TV поля. Поясню — при переносе сайта с другого движка ID товаров в старой базе были записаны в отдельное TV. Теперь по этим значениям хотелось бы восстановить связи товаров.
Компонент msImportExport есть но в нем я так понял нет возможности указать именно TV вместо ключа дочернего товара?
Андрей
08 января 2019, 12:32
88
0

Непонятки с опциями

Добрый день.
Создал опцию types с помощью компонента msFieldsManager.
Вот ее значения: prntscr.com/l9bl2y
То есть делал по аналогии с полем color из родного minishop2

Теперь пытаюсь вывести эту опцию в фильтре mFilter2 таким образом:
ms|types:default,
Но в результате вижу на сайте вот такое отображение: prntscr.com/l9bm37

Вижу, что в бд значения заносятся также как и в поле color, но поле color в mFilter2 выводиться через msoption, и все нормально отображается. Здесь же если ставлю вместо ms msoption, то ничего вообще не выводится… Как мне решить данную проблему?
Андрей
23 октября 2018, 10:52
164
0