Сергей Фещуков

Сергей Фещуков

С нами с 10 февраля 2015; Место в рейтинге пользователей: #42
Сергей Фещуков
09 июня 2017, 20:40
0
Добрый день. Прошу прощения за долгие ответы, но сейчас у меня полная загрузка. Интеграция теоретически возможна, о чём я вам писал, но надо пробовать.
Сергей Фещуков
09 июня 2017, 20:39
0
Импорт/экспорт цен каким-либо способом не предусмотрено из коробки.
Старая цена работает так: если для города установлена цена, отличная от цены по умолчанию, то в плейсхолдер old_price запишется цена по умолчанию, а в плейсхолдер price — цена для города.
Сергей Фещуков
02 июня 2017, 14:06
0
Исправил. Попробуйте теперь установить компонент.
Сергей Фещуков
02 июня 2017, 13:39
0
Тогда перед этим делом добавьте вот такое:
$modx->loadClass('msprRemains', MODX_CORE_PATH.'/components/msproductremains/model/msproductremains/');
Или вот так:
$modx->loadClass('msprRemains', MODX_CORE_PATH.'/components/msproductremains/model/');
Или просто подключите сервис. Он подтянет все нужные классы за собой.
$msProductRemains = $modx->getService('msProductRemains');
Сергей Фещуков
02 июня 2017, 13:34
0
Попробуйте так:
$q->innerJoin('msprRemains', 'Remains', '`msProduct`.`id` = `Remains`.`product_id`');
Сергей Фещуков
02 июня 2017, 13:30
0
Компонент никакой привязки к miniShop2 не имеет. Просто я забыл в инсталяторе удалить требование, чтобы miniShop2 был установлен. Исправлю этот момент
Сергей Фещуков
02 июня 2017, 13:20
0
Добрый день. Можно просто вызвать сниппет getRemains из вашего сниппета.
$remains = $modx->runSnippet('getRemains', array(
	'product_id' => 123,
	'color' => 'Красный',
	'size' => 'Большой'
));
К тому же, сниппет с недавних пор выдаёт все остатки товара в виде JSON массива. Для этого вызвать надо сниппет так:
$remains = $modx->runSnippet('getRemains', array(
	'product_id' => 123,
	'return' => 'json'
));
$remains = $modx->fromJSON($remains);
В итоге получаем массив в виде:
$remains = array (
  0 => array (
    'options' => 
    array (
      'color' => 'Красный',
      'size' => 'Малый',
    ),
    'remains' => 6,
  ),
  1 => array (
    'options' => 
    array (
      'color' => 'Синий',
      'size' => 'Большой',
    ),
    'remains' => 9,
  )
)
И далее ищите в массиве нужные данные.
Есть ещё вариант подключить компонент как сервис и использовать функцию getRemains, но она не возвращает JSON-массив.
$msProductRemains = $modx->getService('msProductRemains');
$remains = $msProductRemains->getRemains(array(
	'product_id' => 123,
	'color' => 'Красный',
	'size' => 'Большой'
));
Надеюсь, я вам помог. Желаю удачи!
Сергей Фещуков
03 мая 2017, 08:56
0
Добрый день. Ранее была поддержка моего компонента msProductRemains для импорта остатков. Сейчас её нет. Я понимаю, что у вас может и не быть желания поддерживать мой компонент. Но у меня есть желания добавить поддержку моих компонентов в ваш компонент для импорта. Может вы сделаете механизм для подключения своих классов импорта?
То есть я хочу, чтобы мои остатки тоже можно было импортировать. Я пишу класс для импорта, подсовываю его в папку компонента msImportExport, он автоматически подключается вашим компонентом и в списке импорта появляется новый пункт.
Надеюсь, идею вы поняли.
Сергей Фещуков
24 марта 2017, 06:42
0
В поддержке нельзя теперь редактировать сообщения свои. Так и задумано?
Сергей Фещуков
23 марта 2017, 13:51
0
Добрый день. К сожалению, такого не реализовано. Первый раз сталкиваюсь с такой необходимостью. Надо будет подумать как это грамотно реализовать.
Сергей Фещуков
21 марта 2017, 13:04
0
1. Попробуйте заново скачать компонент из магазина и переустановить его. Такой косяк был, но я его поправил.
2. Хорошо, я реализую такой функционал в ближайшем обновлении.
Сергей Фещуков
18 марта 2017, 16:14
0
А в настройках компонента включили определение города по домену?
Сергей Фещуков
18 марта 2017, 10:35
0
Добрый день.
1. Компонент не работает с контекстами. Оно создано специально для того, чтобы не создавать контексты для разных городов. Дописать этот функционал возможно, в принципе, или переписать под ваши нужды его.
2. Придётся переписать тип ТВ или создать новый, чтобы поддерживал компонент. В общем, без правки такой функции не будет, но вообще реализовать можно.
3. Опять же вопрос к автодополнениям, поддержку городов придётся дописывать.
Сергей Фещуков
12 марта 2017, 12:59
0
Тогда попробуйте явно задать ID:
[[!getRemains:toPlaceholder=`remains` ?&id=`[[*id]]`]]
Сергей Фещуков
12 марта 2017, 11:49
0
На странице товара сниппет нужно вызвать так
[[!getRemains:toPlaceholder=`remains`]]
Сергей Фещуков
12 марта 2017, 11:47
0
Я, надеюсь, вы плейсхолдер ставите после вызова сниппета?
Сергей Фещуков
12 марта 2017, 11:42
0
Попробуйте вот так
[[+remains:lt=`1`:then=`<span class="no-remains">Нет в наличии</span>`:else=`<button class="btn btn-default" type="submit" name="ms2_action" value="cart/add"><i class="glyphicon glyphicon-barcode"></i> В корзину</button>`]]
Сергей Фещуков
06 марта 2017, 10:41
0
1. Этот функционал всё равно будет добавляться в компонент, так что только для вас его не получится добавить. За плату можно только простимулировать меня быстрее заняться этим вопросом. :)

2а. Автоматически не подставляется. Как у вас реализован вывод title и description?
2б. Карта сайта будет создаваться со ссылками по умолчанию, без учёта городов. Стандартная настройка site_url не подменяется.
Сергей Фещуков
06 марта 2017, 10:27
0
1. На текущий момент реализованы только города в поддоменах. В подкатегориях будет добавлено в ближайших версиях после того, как будут исправлены баги с реализацией городов в поддоменах, если они появятся. Так как города в подкатегориях будут основываться на этом же механизме.
2. Прелесть этого компонента в том, что нет необходимости создавать под каждый город контексты. Если вам необходимо внутри содержимого ресурса использовать разные фрагменты текста для разных городов, необходимо использовать данные и выводить их с помощью сниппета/модификатора cfField или плейсхолдером (если опция включена).
Сергей Фещуков
26 декабря 2016, 18:49
0
Тестовый сайт с данным компонентом есть, пройдите по этой ссылке. Можно посмотреть как на фронтенде это работает.