Всего 123 791 комментарий

Vladimir
08 мая 2023, 18:06
+1
А так
'where' => ["Data.price: >=" => "20000", "AND:Data.price: <=" => "11122990"]
Или на дефолте

&where=`{"Data.price:>=": "37000", "AND:Data.price:<=": "40000"}`
Фулл код на феноме
{'!mFilter2' | snippet : [
  'paginator' => 'pdoPage@catalog_filters',
  'limit' => '12',
  'parents' => '0',
  'resources' => '[[!mSearch2:default=`999999`?returnIds=`1`&limit=`0`]]',
  'class' => 'msProduct',
  'element' => 'msProducts',
  'setMeta' => '1',
  'tplOuter' => 'catalogproducts',
  'tpls' => 'TovarTpl',
  'snippet' => 'msProducts',
  'context' => '[[*context_key]]',
  'cultureKey' => '[[++cultureKey]]',
  'where' => ["Data.price: >=" => "20000", "AND:Data.price: <=" => "11122990"],
  'sort' => '
			id:asc
		',
  'filters' => '
		    ms|price:number,
			msoption|brand:default,
			msoption|tags:default,
			msoption|polotno_type:default,
			ms|stal,
			msoption|filter_material:default,
			msoption|otdelka:default,
			msoption|color:default,
			msoption|glass:default,
			msoption|style:default,
			msoption|available:default
			',
  'aliases' => '
		    msoption|filter_color==color,
		    msoption|style==style,
		    msoption|glass==steklo,
		    msoption|brand==brand,
		    msoption|filter_material==material,
		    msoption|tags==tags,
		    ms|steel==steel,
		 
		',
  'tplFilter.outer.default' => 'myFilterOuter',
  'tplFilter.row.default' => 'myFilterCheckbox2',
  'tplFilter.outer.ms|price' => 'myFilterSlider',
  'tplFilter.row.ms|price' => 'myFilterNumber',
  'suggestionsMaxResults' => '30000',
  'showlog' => '1',
]}
Можешь сам переводить всё на феном, удобный инструмент
Константин Ильин
08 мая 2023, 18:02
+1
Примерно так
<? 
where => '{"Data.price:>=": 20000 ,"AND:Data.price:<=": 11122990}'
Maks
08 мая 2023, 17:39
0
На счет WHERE не уверен
К сожалению ни первый ни второй вариант не работают.

С поиском спасибо все получилось.
Тодор
08 мая 2023, 15:59
0
Разширь клас по этой инструкции, только тебе не надо добавлять поле. Перезапиши buildTVsFilter, потому что там в конце стоит ksort, поменяй сортироку на свою.
Тодор
08 мая 2023, 15:42
+1
'resources' => ('!mSearch2' | snippet: ['returnIds'=>'1','limit'=>'0'] ?: 999999),
'cultureKey' => ('cultureKey' | option),
'context' => $_modx->resource.context_key
На счет WHERE не уверен
'where' => ["Data.price BETWEEN 20000 and 11122990"]
или
'where' => ["Data.price" => "BETWEEN 20000 and 11122990"]
Артур Шевченко
08 мая 2023, 14:06
0
Ну тогда надо каждый раз заново инициализировать корзину.
Артем
08 мая 2023, 14:00
0
Да, но там div в который после открытия модального окна через AjaxSnippet загружается корзина начиная с div id=«msCart», каждое открытие это новый запрос в корзину
Артур Шевченко
08 мая 2023, 13:54
0
Вы корзину выводите в модалке?
Артем
08 мая 2023, 11:35
0
а MsCart так же не надо подключать?
Артем
08 мая 2023, 11:22
0
Заработали кнопки +-, однако количество товара в корзине от их нажатия не меняется, меняется количество в count, но в корзине все по прежнему и уведомлений нет.
Артем
08 мая 2023, 11:14
0
Принудительно добавляю на страницу custominputnumber.class.js с атрибутом type=«module»
Артур Шевченко
08 мая 2023, 11:09
0
Вам ни что не мешает подключить её самостоятельно и написать кастомный валидатор для неё.
Артур Шевченко
08 мая 2023, 11:08
+1
<script type="module">
import CustomInputNumber from './assets/components/minishop2/js/web/vanilajs/modules/custominputnumber.class.js';
modal.querySelectorAll('input[name=count]')?.forEach(el => {
     new CustomInputNumber(el, {});          
});
</script>
Примерно так, я мог с путями ошибиться.
Александр Мельник
08 мая 2023, 08:19
+1
Не вникал конкретно в вашу ситуацию, но раз вы используете импорты, то необходимо добаввлять атрибут type=«module» у тега script.
Консоль в браузере обязательно должна была вам об этом сообщить.
Maks
08 мая 2023, 06:46
0
Перед этим стояла другая форма и рекапча такой спам не прилетал.
Артем
08 мая 2023, 00:17
0
Так, пытаюсь разобраться: мой скрипт расположен на странице (не отдельным файлом, а в html) где прописано подключение к
<script src="/assets/components/minishop2/js/web/vanilajs/modules/mscart.class.js"></script>
в котором первой строчкой импортируется класс CustomInputNumber
И мой скрипт его не видит, а что нужно сделать что бы увидел?
Артур Шевченко
08 мая 2023, 00:04
+1
Всё правильно, но импорт происходит в класс корзины, ваш скрипт-то не знает о том, где лежит CustomInputNumber и что это за зверь, глобально-то он не определен.
Артем
07 мая 2023, 23:45
0
Мб не совсем корректно понимаю вопрос, но mscart.class.js начинается с
import CustomInputNumber from './custominputnumber.class.js'
На этой же странице, где вызываю через ajax modal с корзиной, в качестве эксперимента есть еще одна корзина, которая загружается изначально вместе со страницей. В ней все работает.