Всего 123 803 комментария

Евгений
30 мая 2023, 20:46
+1
Всем привет!

Хочу написать слова благодарности автору данного дополнения!
Этот программный продукт сам по себе шикарен, с точки зрения широты и полноты решаемых задач и сопутствующих им действий!
Так разработчик ещё и сделал некоторые изменения ПО по нашей просьбе, под наши условия работы, прямо «налету»!

Огромное спасибо, добрый человек!
Доброта всегда возвращается стократно! Пусть тебе благоволит удача!
Александр Мельник
30 мая 2023, 18:30
0
если бы вы использовали синтаксис fenom было бы проще.
Внутри чанка вам доступен номер иттерации. [[+idx]]
вы можете написать проверку, на то что номер иттерации без остатка делится на 3.
если это условие верно, то вы будете знать, что завершилась 3,6,9 и так далее иттерация.
и по этому условию вывести другую верстку.
Giant Dad
30 мая 2023, 18:11
0
internet_magazin — это свойство товара, расширенное вручную, не через msAddField
Алексей
30 мая 2023, 17:48
0
Не совсем подходит, так как он заменяет ресурс, и это надо контролировать и учитывать при добавлении
Андрей
30 мая 2023, 17:12
0
Скорее всего вот это поможет:

&tpl_N - Имя чанка для N-го ресурса, например, &tpl_4=`tpl4th` установит шаблон для 4-го ресурса.
&tpl_nN - Имя чанка для каждого N-го ресурса, например, &tpl_n4=`tplEvery4th` будет применено к каждому 4-му ресурсу.

Общие параметры
Добрый день. Как себя ведёт событие mousemove на мобильных устройствах?
Кровельный
30 мая 2023, 10:57
0
Работа с ТВ: Заменить значение в ТВ — не работает
Пакет уже обновлён до последней версии: mspre-2.4.5-pl

В функции newValue. Файла core/components/mspre/model/mspre/mspretvfield.class.php:55 — закомментируйте эту строку
<?php
/*if (empty($current)) {
    return false;
}*/
И всё. Заработает!
Алексей
30 мая 2023, 08:04
0
Кастомные поля созданы с помощью компанента ExtraFields.
Артур Шевченко
29 мая 2023, 21:57
0
Во-первых, сообщение «В форме содержатся ошибки!» выводится всегда, если в форме есть ошибки.
Во-вторых, параметры отвечающие за кастомные сообщения об ошибках отдельных валидаторов строятся по схеме
поле.vTextИмяВалидатора
Имя валидатора в кэмэл-кейсе, т.е. minLength для поля message нужно писать message.vTextMinLength.
У вас же они заданы очень своеобразно, сами придумали или рассказал кто?
Андрей
29 мая 2023, 17:10
0
p.s. Проверил у себя, условие в where рабочее:
{'!msProducts' | snippet:[
  'tpl' => '@INLINE {$id} - {$pagetitle} - {$price} - {$old_price}</br>',
  'limit' => 30,
  'parents' => 151,
  'sortby' => 'RAND()',
  'where' => '[{"Data.old_price:>":"Data.price"},{"Data.internet_magazin:=":"1"}]',
  'showLog' => 1
]}

//формирует запрос
Added where condition: class_key=msProduct, Data.old_price:>=Data.price, Data.internet_magazin:==1, ....

Но, поля расширены через доп — msAddField. Если же internet_magazin это твшка, опция, тогда надо по другому запрос переписать.
Андрей
29 мая 2023, 16:58
0
А что за поле — Data.internet_magazin? Можно включить параметр showLog и посмотреть какой запрос формируется.
Dan
Dan
29 мая 2023, 11:55
0
Дело в разметке. За вывод выбранных фильтров отвечает метод handleSelected. Если посмотрите код default.js от mSearch2, то увидите, что:
1) По умолчанию, контейнер фильтра — это ближайший родительский тег fieldset
2) Заголовок берется из дочернего элемента контейнера с классом .filter_title

Поэтому, раз у вас своя разметка, то нужно:
1) Создать новый js, например custom.js по адресу assets/components/msearch2/js/web/ и скопировать в него код из default.js, находящегося в той же директории.
2) В системных настройках по ключу mse2_frontend_js укажите созданный вами js-файл
3) В самом файле на 15-16 строчках замените значения filter_title и filter_wrapper на нужные вам.

Либо не трогая js указать это в вызове сниппета в параметре filterOptions
Dan
Dan
29 мая 2023, 11:41
0
А кастомные поля вы как создали? Просто добавили в БД?
Вы должны также сообщить о них самому Modx. Можете воспользоваться этим гайдом. Если не нужно отрисовывать поля в админке, то достаточно одного события OnMODXInit
Игорь
29 мая 2023, 09:45
0
Здравствуйте.
У Тинькофф есть новый способ оплаты «Оплата долями» www.tinkoff.ru/dolyame/. Ваш компонент не поддерживает такое пока?
maxgmm
29 мая 2023, 09:36
0
Да спасибо разобрался дополниьельное поле было написанно в феноме это не понравилось
Vladimir
28 мая 2023, 15:04
0
Так
$words = json_decode($res->getTVValue('words'), true);   
$words2 = json_decode($res->getTVValue('words2'), true);

$words3 = json_decode($res->getTVValue('words3'), true);   
$words4 = json_decode($res->getTVValue('words4'), true);   

$wordsToExclude = array_unique(array_merge($words, $words2, $words3, $words4));

$pattern = '/(?:' . join('|', $wordsToExclude) . ')/i';
Евгений
28 мая 2023, 14:23
0
подскажите как сделать чтобы брало не только из одного TV а из двух или трех?
точнее не как брать а как в коде плагина прописать так чтобы исключало сразу слова из 2 или 3 TV?

сейчас это
$words = json_decode($res->getTVValue('words'), true);         
$pattern = '/(?:' . join('|', $words) . ')/i';
как я понимаю можно
1 сделать переменную words2
а в строке pattern добавить его в исключение (не знаю только как )

2 добавить сразу данные из TV поля words2 в переменную words
Евгений
28 мая 2023, 10:17
0
у него есть какой то глюк или ограничение на слова и они просто обнуляются