29 июня 2015, 14:16 Можно использовать сниппет [[!msOptionsWithRemains?&id=`[[+id]]`&name=`size`]]Такой вариант вызова сниппета выведет все размеры товара, которые есть в наличии (то есть скроет все размеры, которые не в наличии). А есть ещё такой вариант обработки этой ситуации. Вызываем сниппет так: [[!msOptionsWithRemains?&id=`[[+id]]`&name=`size`&showMissing=`1`]]И в чанке tpl.msOptions.row выводим параметр таким образом: <option value="[[+value]]" [[+selected]] [[+remains:lte=`0`:then=`disabled="disabled"`]]>[[+value]]</option>Тогда сниппет выведет все размеры, но размеры не в наличии будут неактивными (выбрать их нельзя будет, но они будут видны). Новые дополнения и их версии / [msProductRemains] Компонент учёта остатков товара 179 +1 1
29 июня 2015, 14:08 К сожалению, скорее всего всё сложнее. Придётся добавлять поле properties как оно есть, то есть делать следующим образом. В строке импорта пишем: &fields=article,size,size,size,propertiesа в CSV файле в строке пишем: артикул 1;Размер 1;Размер 2;Размер 3;{"msproductremains":{"Размер 1":"49","Размер 2":"55","Размер 3":"12"}} Визуально, все остатки обнулятся, придётся их заполнять заново. Поле указывается общее для всех товаров. По факту, в базе ничего не перезапишется (то есть останутся данные остатков по размерам), пока не будет пересохранён каждый товар с данными остатков по вкусам. Новые дополнения и их версии / [msProductRemains] Компонент учёта остатков товара 179 +1
28 июня 2015, 08:17 Вид поля properties с остатками такой {"msproductremains":{"Размер 1":"49","Размер 2":"55","Размер 3":"12"}}Это пример для размеров. Соответственно, должны быть в свойствах Размеры указаны Размер 1, Размер 2 и Размер 3. Новые дополнения и их версии / [msProductRemains] Компонент учёта остатков товара 179 0
26 июня 2015, 17:03 1. Информация об остатках хранится в стандартном поле properties. Поэтому это поле добавлять надо. Только надо отметить, что в этом поле могут быть и другие параметры. Пример как выглядит значение этого поля дам чуть позже, пока не за компьютером. 2. Я с удовольствием добавлю, только знать бы как это сделать. Новые дополнения и их версии / [msProductRemains] Компонент учёта остатков товара 179 0
20 июня 2015, 05:10 Пока нет. Дело недолгое это добавить, так что постараюсь это сделать быстрее. Новые дополнения и их версии / [easyBlacklist] Релиз простого черного списка IP 14 0
23 мая 2015, 09:33 Вы вообще читали как подключается fancybox? По умолчанию его в miniShop2 нет. Вам сюда fancyapps.com/fancybox/ Вопросы / Не работает fancybox на странице товара 13 +1
22 мая 2015, 19:50 На вскидку [[pdoResource?&where=`{"modResource.pagetitle:LIKE":"A%"}`]]В общем, копать в эту сторону. Вопросы / Группировка ресурсов по первой букве названия 5 0
14 мая 2015, 14:31 Нет документации и код немного надо подправить. Сделать, чтобы при блокировке либо на страницу отсылал, либо шаблон подгружал. В общем, сделать красиво. А потом можно. Новые дополнения и их версии / [easyBlacklist] Очень простой чёрный список IP 22 0
14 мая 2015, 14:30 PR — это хорошо. Присылайте, я этому буду только рад :) Новые дополнения и их версии / [easyBlacklist] Очень простой чёрный список IP 22 0
12 мая 2015, 12:10 Вы пробовали расшифровать то, что вам отдаёт сервер? Доступ запрещён.Возможно, в getlist идёт проверка на права, которых у вас нет. Вопросы / Не подгружается connector.php! 8 0
11 мая 2015, 15:58 Попытаться вывести Cmp_name.config.connector_url в первую очередь в консоль. console.log(Cmp_name.config.connector_url)Можно в саму консоль отправить эту команду или просто написать в консоли Cmp_name.config.connector_urlТо, что в PHP задан $connectorUrl ещё не значит, что он на странице в JS определён. Вопросы / Не подгружается connector.php! 8 0
11 мая 2015, 15:51 Я когда-то делал кнопку «Купить в один клик» и пошёл на такую хитрость, чтобы очистить корзину. Добавил скрытую форму с кнопкой очистить корзину, а в файле JS прописал: $('form button[value="cart/buy"]').unbind('click').bind('click', function() { $('form button[value="cart/clean"]').click(); return false; }); miniShop2.Callbacks.Cart.clean.response.success = function () { $('form button[value="cart/add"]').click(); location.href = "order.html"; return false; }Только потом пришлось переопределить функцию miniShop2.Cart.status, переписав её так, чтобы не происходила перезагрузка страницы после очистки корзины. Вопросы / Очистка корзины через AJAX 9 +1
11 мая 2015, 15:41 Ещё бы написали точно что выдаёт Firebug и куда он ссылается Вопросы / Не подгружается connector.php! 8 0
04 мая 2015, 15:47 Изображения берутся не запросом из таблицы, поэтому вариант с RAND() вообще ни к месту. Ищите в google варианты как произвольно сортировать массивы. В PHP есть функция shuffle для перемешивания массивов. php.net/manual/ru/function.shuffle.php Вопросы / * getImages 2 0
29 апреля 2015, 11:58 Да я читал уже. Мне просто интересно почему это не добавили в miniShop2 изначально. Вопросы / Работает ли система плагинов для заказов? 5 0
29 апреля 2015, 08:04 Что, вообще никто не знает или ссылку не может дать? Вопросы / Работает ли система плагинов для заказов? 5 0
27 апреля 2015, 16:29 А другие варианты не работают? Вопросы / Как передать переменную из окна в процессор? 25 0
27 апреля 2015, 14:41 А зачем value удалили? Я же думал вы проверите, что value срабатывает (то есть ваше значение по-умолчанию вставляется). :) И ещё вариант. Попробуйте так: {xtype: 'hidden',name: 'pattern_id',defaultValue: '1234567'} или {name: 'pattern_id',value: '1234567',hidden: true} или {name: 'pattern_id',defaultValue: '1234567',hidden: true} Вопросы / Как передать переменную из окна в процессор? 25 0
27 апреля 2015, 14:33 Если я правильно понимаю код, вы просто добавляете скрытое поле в форму. <input type="hidden" name="pattern_id" value="1234567" />И через форму это значение передаётся. Вот и надо проверить, имеется ли данное скрытое поле в форме и имеется ли значение в нужное поле. Либо через инструменты разработчика браузера, либо задав xtype=«textfield». Вопросы / Как передать переменную из окна в процессор? 25 0
27 апреля 2015, 14:00 Сначала бы вывести это поле скрытое и посмотреть есть ли в нём нужное значение… Вопросы / Как передать переменную из окна в процессор? 25 0
gtsAPI 1.1.7 — таблицы на TanStack, инлайн-редактирование как в Excel Prime Vue datatable тупит на 200+ строк и в виртуальном скролинге высота полей фиксирована. Вот нам в итоге и не подошло. Директор сказал расчет должен сразу показываться без пагин...
mxApi — быстрый внешний API для MODX Revolution • зафиксировать публичный контракт EndpointInterface / метаданных по semver, чтобы наш провайдер не ломался на обновлениях;Фактически это уже так, beta стоит просто на всякий случа...
YaSmartCaptcha - защитите ваши формы от спама умной капчей от Яндекс Вообще не понял о чем речь) В системной настройке service_js сейчас указана ссылка smartcaptcha.cloud.yandex.ru/captcha.js Я предложил очистить эту настройку, тогда компонент н...
mxBackup — обезличенные копии MODX в пару кликов Ещё нет, я там разом почти полтора десятка пакетов выложил модератор, вероятно, а шоке.
Gallery3x 3.4.0 - вставка галерей прямо из визуального редактора (CKEditor и TinyMCE RTE) Здравствуйте. Есть консольный скрипт Вот почитайте: docs.ivan345.com/books/gallery3x/page/import-ms2galleryphp
[mSync] Новая версия синхронизации с 1С Всем привет. В какой то момент начали сыпаться ошибки: Error 23000 executing statement: INSERT INTO `modx_msync_products` (`product_id`, `uuid_1c`) VALUES ...
Такой вариант вызова сниппета выведет все размеры товара, которые есть в наличии (то есть скроет все размеры, которые не в наличии).
А есть ещё такой вариант обработки этой ситуации.
Вызываем сниппет так:
И в чанке tpl.msOptions.row выводим параметр таким образом:
Тогда сниппет выведет все размеры, но размеры не в наличии будут неактивными (выбрать их нельзя будет, но они будут видны).
В строке импорта пишем:
а в CSV файле в строке пишем:
Визуально, все остатки обнулятся, придётся их заполнять заново. Поле указывается общее для всех товаров. По факту, в базе ничего не перезапишется (то есть останутся данные остатков по размерам), пока не будет пересохранён каждый товар с данными остатков по вкусам.
Это пример для размеров. Соответственно, должны быть в свойствах Размеры указаны Размер 1, Размер 2 и Размер 3.
2. Я с удовольствием добавлю, только знать бы как это сделать.
В общем, копать в эту сторону.
Возможно, в getlist идёт проверка на права, которых у вас нет.
Можно в саму консоль отправить эту команду или просто написать в консоли
То, что в PHP задан $connectorUrl ещё не значит, что он на странице в JS определён.
Только потом пришлось переопределить функцию miniShop2.Cart.status, переписав её так, чтобы не происходила перезагрузка страницы после очистки корзины.
В PHP есть функция shuffle для перемешивания массивов.
php.net/manual/ru/function.shuffle.php
И ещё вариант. Попробуйте так:
или или
И через форму это значение передаётся. Вот и надо проверить, имеется ли данное скрытое поле в форме и имеется ли значение в нужное поле. Либо через инструменты разработчика браузера, либо задав xtype=«textfield».