Всего 123 788 комментариев

Dan
Dan
31 мая 2023, 09:11
1
0
Значит вам нужно открыть div в первом результат и в каждом 4-м, и закрывать его в последнем и каждом 3-м. И при этом выводить отдельный чанк после каждого-3го или последнего. Вызов будет примерно следующий:
[[!pdoResources?
    &parents=`[[*id]]`
    &tpl=`one_test`
    &tplFirst=`one_test.open`
    &tplFirst=`one_test.open`
    &tpl_n3=`one_test.close`
    &tplLast=`one_test.close`
    &includeTVs=`img,newHome,change,price,street`
]]
И код чанков примерно следующий:
1. one_test — просто вывод блока, без оборачивающего div-а
2. one_test.open следующий:
<div> <!--открывается div обертка-->
<!--далее код из чанка one_test-->
3. one_test.close следующий:
<!--код из чанка one_test-->
</div> <!--закрывается div обертка-->
[[$другой_чанк]]
Алексей
31 мая 2023, 04:07
0
Да немного не правильно написал. Суть заключается в том что, я выставляю условно новости, они располагаются в строчку по 3 новости. После строчки должен идти другой чанк, условно реклама.

Мне больше интересно могул я после того как выводятся 3 блока закрыть их полноценно
<div class="strat">
    <div class="strat_b">
        Тут сейчас выводятся блоки, если прописываю другой чанк он выводится в этом же диве.
        <div class="strat1">
            <div class="strat_а">
                другой чайн
            </div>
        </div>
    </div>
</div>
Мне необходимо чтобы при достижение 3 блоков див закрывался, и вставлялся другой чанк
<div class="strat">
    <div class="strat_b">
        Тут сейчас выводятся блоки, по достижению 3 блоково
    </div>
</div>
<div class="strat1">
    <div class="strat_а">
        другой чайн
    </div>
</div>
<div class="strat">
    <div class="strat_b">
        Тут сейчас выводятся блоки, по достижению 3 блоково
    </div>
</div>
Артур Шевченко
30 мая 2023, 23:28
+1
Если бОльшая часть должна быть выбрана, то меньшая будет не выбрана, в этом случае, мне кажется, лучше идти от обратного, т.е. выбирать те ресурсы, которые не нужны.
Но если оставить всё как есть, то можно плагином на OnDocFormRender попробовать отметить. Или установить SuperBoxSelect там есть поиск по названию.
Dan
Dan
30 мая 2023, 22:12
0
Как понять «он заменяет ресурс»?
Вы вроде написали, что каждый 3-ий результат должен выводиться в другом чанке.
Чем вам не подходит tpl_N?
Либо распишите задачу более подробно, чтобы можно было дать точный ответ.
Константин Ильин
30 мая 2023, 21:40
+1
На телефоне все норм, сейчас проверил на одном из сайтов форма отправляется. Ну если что можно на событие touchmove повесить
Евгений
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