Всего 125 986 комментариев

Тодор
20 декабря 2021, 15:03
+1
'sortby' => 'CASE `Data`.`vendor` WHEN __VENDOR__ID__ THEN 1 ELSE 0 END ASC, msProduct.id',
Баха Волков
20 декабря 2021, 14:39
+1
Если речь идёт о доступе к странице, то правильный подход будет через контроль доступа и группы ресурсов
Павел Гвоздь
20 декабря 2021, 12:02
+1
Тут как минимум вопросы нужно задавать в ТП на Modstore. А вообще, этой совместимости в описании компонента не заявлено, поэтому это платная доработка. И есть у меня подозрение, что решение надо писать на стороне второго компонента.
Sergey (Sentinel)
20 декабря 2021, 11:34
0
Т.к. это платный компонент, думаю решений нет ни у кого. И пока у автора тоже :(((
Рушан
20 декабря 2021, 08:34
0
Спасибо!
Николай Савин
20 декабря 2021, 08:30
+2
ms3 будет в Январе. Ну и еще останется экосистему к нему подтягивать.
Евгений Webinmd
19 декабря 2021, 22:37
+1
ismember (memberof, mo) — проверка принадлежности пользователя к группе или группам пользователей MODX. Если переменная пуста, то проверка проводится для текущего пользователя.

{1 | ismember : 'Administrator'} // true
{0 | ismember : ['Administrator', 'Manager']}

Документация
Иван Бочкарев
19 декабря 2021, 22:18
+1
По факту если не нужен e-commerce не хватает только MIGX
Серый
19 декабря 2021, 20:42
0
Увы, не спасает. Если без &toPlaceholder=`qq`, то всё выводится корректно, если задействую его, то какая-то флюктуация начинается((
Евгений Webinmd
19 декабря 2021, 20:25
0
попробуйте добавить
&resources=`[[+tv.soloistsList:default=`-0`]]`
вместо -0 можно попробовать 999999999999
Серый
19 декабря 2021, 20:21
0
Кажется дошло, работает, сделал так:
[[+total:isequal=`1`:then=`Soloist`:else=`Soloists`]]:
[[+tv.soloistsList:notempty=`[[+qq]]`:empty=`TBC`]]
[[pdoResources?
    &parents=`8`
    &resources=`[[+tv.soloistsList]]`
    &sortdir=`ASC`
    &limit=`10`
    &tpl=`soloistsListTPL`                  
    &includeTVs=`simpleText`
    &showUnpublished=`1`
    &processTVs=`1`
    &prepareTVs=`1`
    &setTotal=`1`
    &toPlaceholder=`qq`
]]
Это код карточки концертов, они другим снипетом выводятся на страницу списком и вот грабли — одна из них почему-то показывает тупо всех солистов сколько допускает параметр &limit.
Убираю из этого концерта солистов — подставляет TBC, и эта фигня вылезает в другой карточке.
Что ж я делаю не так?(
Евгений Webinmd
19 декабря 2021, 19:40
0
[[!pdoResources?
        &parents=`8`
        &resources=`[[+tv.soloistsList]]`
        &processTVs=`1`
        &prepareTVs=`1`
        &setTotal=`1`
        &tpl=`@CODE: [[+total]]`
        &toPlaceholder=`qq`
]]

Список ресурсов
[[+qq]]

Количество
[[+total]]

в tpl чанк ресурсов как обычно
Серый
19 декабря 2021, 19:33
0
Эх, как было бы прекрасно, если бы еще где-то примеры использования этих параметров были((
Тыкался так и этак — всё что угодно кроме количества даёт(
Направьте пожалуйста
[[+qq]]
[[pdoResources?
        &parents=`8`
        &resources=`[[+tv.soloistsList]]`
        &processTVs=`1`
        &prepareTVs=`1`
        &setTotal=`1`
        &tpl=`@CODE: [[+total]]`
        &toPlaceholder=`qq`
]]
Евгений Webinmd
19 декабря 2021, 00:55
0
ну тут не долго думая можно использовать 2 параметра из документации: toPlaceholders (тут будет список) и setTotal (тут будет количество результатов). Ну и в total уже будет число
Серый
19 декабря 2021, 00:18
0
В том и соль, что нет никакого числа.
Есть выводимые ресурсы в виде карточек и есть заголовок к ним.
Допустим у нас концерт и на нем выступает либо один солист, либо несколько, и вот надо как-то сделать автоматизацию, что елси pdoResources выводит один ресурс, то заголовок у нас «Солист:», а если более одного ресурса: «Солисты:» и ниже уже шаблончики этих солистов или солиста.
Или можно как-то «посчитать», получить значение выводимых ресурсов, в соответствии условию, в виде числа?
Евгений Webinmd
18 декабря 2021, 23:05
0
есть модификатор
declension (decl) — склоняет слово, следующее за числом по правилам русского языка. Например: 1 яблоко, 2 яблока, 10 яблок. Вторым параметром указывается выводить ли само число, по умолчанию выводится только подходящий вариант слова. Разделитель вариантов можно задавать третьим параметром, по умолчанию |

{6 | declension : 'яблоко|яблока|яблок'} // яблок
{3 | declension : 'яблоко|яблока|яблок' : true} // 3 яблока
{101 | decl : 'яблоко,яблока,яблок' : false : ','} // яблоко
Александр Мельник
18 декабря 2021, 20:07
0
Да. спасибо. Скорее всего вы правы, потому что я действительно стараюсь последний год не использовать синтаксис jquery и получаю дата атрибуты через dataset.
Баха Волков
18 декабря 2021, 19:57
+2
@Александр Мельник Это всё хорошо, но нужно отставить панику!

Сегодня обнаружил, что свойство form у response перестало указывать на конкретную форму..
Это временный глюк? Или так всегда и было и это меня глючит?
Получается если я нажму обновить ajaxform на всех своих сайтах, у меня придет в нерабочее состояние отправка целей в метрику, закрытие модальных форм.
А точно перестало? Александр, если бы вы пользовались github-ом, то могли бы удостовериться, что ничего не изменилось.

AjaxFrom, насколько я знаю, использует для отправки формы jquery.form, а он всегда возвращал 4-ым параметром jQuery объект.

Пытаюсь понять почему в более старых версиях AjaxForm я мог внутри события af_complete получить форму как const form = response.form и мог например сразу получить у нее data атрибуты. А теперь нет.
Вы путаете jQuery объект с Element, это проблема разработчиков которые изучали js через jQuery

response.form // jQuery object

response.form[0] // Element/HTMLElement
response.form.0 // Element/HTMLElement
response.form.eq(0) // Element/HTMLElement
response.form.get(0) // Element/HTMLElement

Как получить дата атрибуты формы с помощью jQuery?

const data = response.form.data()
console.log(data) // { attr: "value", foo: "bar" }

const foo = response.form.data('foo')
console.log(foo) // bar

Как получить дата атрибуты формы без него?

const form = response.form[0]
const data = form.dataset
console.log(data) // { attr: "value", foo: "bar" }

const foo = form.dataset.foo
console.log(foo) // bar

const foo = form.getAttribute('data-foo')
console.log(foo) // bar

const foo = form.attributes.getNamedItem('data-foo').value
console.log(foo) // bar
Сергей Шлоков
18 декабря 2021, 12:43
+1
Спасибо, что тестируете!
vrm13
18 декабря 2021, 12:28
0
тот же вопрос, крутил и так и этак, что-то не заводится. Например msOneClick с yandexdiskuploader получилось, там нужно было подключить css и js от yandexdiskuploader непосредственно в модальном окне и всё заработало, здесь тоже подключаю скрипты и стили, но всё равно дропзона не активна, может есть у кого решение?