Anonymous
Но еще можно через hook параметр сделать
Тогда он не будет зависеть от валидации?
Anonymous
Там валидация через js вроде
response приходит с сервера. В нем сообщение, которое я хочу изменить. Так что не то.
Ilya
Msync не обновляет количество товаров в msremains. В чем может быть проблема ? 1с выгружает как следует все.
Артур
Где почитать про такой параметр?:
В документации ьк Formit. Только что там читать меняешь fieldname на имя валидируемого поля а ValidatorName на название валидатора, если это два слова то кэмлкейс
Артур
Нет тут такого https://docs.modx.com/3.x/ru/extras/formit
Значит это секретный параметр, теперь ты стал его хранителем, поздравляю, Нео 😂
Артур
Нет тут такого https://docs.modx.com/3.x/ru/extras/formit
А если серьёзно то вот https://docs.modx.com/3.x/en/extras/formit/formit.validators
Anonymous
И как мне это поможет изменить сообщение во всплывашке от jGrowl при некорректной валидации?
Евгений
https://docs.modx.com/3.x/en/extras/formit/formit.validators#custom-error-messages
Артур
И как мне это поможет изменить сообщение во всплывашке от jGrowl при некорректной валидации?
Никак, ты писал про валидатор, я тебе сказал как изменить сообщение от валидатора, а всплывашка меняется через validationErrorMessage
Anonymous
Ты даже нажал ответить на мое сообщение.
Anonymous
В нем четко написано validationErrorMessage
Артур
В нем четко написано validationErrorMessage
Да, значение этого параметра как и любого другого можно изменить.
Anonymous
Да, значение этого параметра как и любого другого можно изменить.
Я меняю в хуке, меняю в своем валидаторе: $scriptProperties['validationErrorMessage'] = 'Мое сообщение'; $validator->formit->validationErrorMessage = 'Мое сообщение'; $validationErrorMessage = 'Мое сообщение'; Не помогает.
Anonymous
Я бы менял в js на событие af_complete
1. Придется менять стандартный файл. И в системных настройках я не вижу возможности указать свой файл. Как это делается в mSearch2 или в Minishop2. При обновлении мои изменения слетят. 2. Данные там приходят с сервера. В том числе и это сообщение. Логичнее менять его на сервере, а не хардкодить в JS.
Артур
Ну оно же не меняется в хуках. Значит надо делать иначе. Указать свой файл можно в параметрах сниппета, но это ни нужно, так как я предлагаю использовать событие в котором ты можешь изменить текст сообщения. А сам текст можно запись на сервере в те же куки.
Anonymous
Я бы менял в js на событие af_complete
Вот, как происходит подключение стандартного файла. Как видишь, нет возможности указать свой путь
Anonymous
О, про указание файла в параметрах не знал, сейчас загуглил, увидел
Артур
Вот, как происходит подключение стандартного файла. Как видишь, нет возможности указать свой путь
Я знаю как там всё происходит, я переписал AjaxForm избавил его от jQuery и jGrowl
Anonymous
То есть сначала будет выводиться одно, а потом я буду менять его на другое? Я попробую. Главное, чтобы этого изменения не было заметно.
Артур
Опять же ты можешь через предложенный мной параметр указать нужный текст и через обозначенное событие вывести его во всплывашке
Anonymous
Жаль, что разработчики AjaxForm не предусмотрели этого.
Anonymous
Нет, сразу выведется твоё, событие наступает раньше чем показывается сообщение
А, вижу. А как тогда отменить то сообщение, которое по умолчанию будет выводиться?
Артур
Жаль, что разработчики AjaxForm не предусмотрели этого.
Он один - Василием зовут 😁 И что он не предусмотрел? Возможность вывода всплывашки?
Anonymous
Он один - Василием зовут 😁 И что он не предусмотрел? Возможность вывода всплывашки?
Возможность менять сообщение, которое выводится в jGrowl, через свои валидаторы / хуки. Это мы сейчас и обсуждаем.
Anonymous
Уже полчаса, если не больше
Артур
А, вижу. А как тогда отменить то сообщение, которое по умолчанию будет выводиться?
Смотри, ты можешь просто поменять текст. Либо поменять текст на пустую строку и вручную вывести такую же всплывашку
Anonymous
Но смысл понятен, спасибо за помощь
Артур
Пфф. Ну костыли. Уж лучше свой JS через параметры передать.
Почему костыли? Событие для того и сделано чтобы ты мог свою логику впихнуть не трогая исходники
Anonymous
Почему костыли? Событие для того и сделано чтобы ты мог свою логику впихнуть не трогая исходники
af_complete? Которое срабатывает раньше, чем создание всплывашки? И нужно либо дожидаться всплывашки через setTimeout и менять в ней текст. Либо вообще отключать вывод текста во всплывашке? Что это, если не костыли?
Anonymous
И выводить всплывашку самому. И не для одной формы. А уже для всех на сайте.
Anonymous
Мне нужно то одну форму всего подправить. А менять приходится логику всех форм.
Артур
af_complete? Которое срабатывает раньше, чем создание всплывашки? И нужно либо дожидаться всплывашки через setTimeout и менять в ней текст. Либо вообще отключать вывод текста во всплывашке? Что это, если не костыли?
Ты прикалываешься? Срабатывает событие в котором есть параметр с текстом, ты этот текст меняешь, и показывается всплывашка с твоим текстом. Ничего ждать не надо
Артур
Мне нужно то одну форму всего подправить. А менять приходится логику всех форм.
В событие передаётся и форма ты можешь прописать условие и эти действия будут срабатывать только для одной формы
Anonymous
Артур
Когда сработает событие выполнится то что написано в событии где ты сделаешь так response.message = 'какой-то текст' и только потом сработает вывод этого сообщения
Anonymous
И оно будет работать? Тут же вроде не передача по ссылке. Я больше в PHP, чем в JS разбираюсь.
Anonymous
Понял, спасибо)))
Артур
Я сам не понимаю как это работает, но работает
Mikhail
ДД! Можно как то заставить mSearch2 искать по двум словам в синонимах? Ничего не находит
Николай
Друзья, есть среди нас такие, кто использует в работе таблицу msCustomerProfile из минишопа ? Это встроенная реферальная система. Мне интересно сколько вообще человек знает о ее существовании
Николай
И сколько пользуются
Николай
Я только знаю, что с ней msProfile работает
++ полез выяснять что за компонент, оказалось мой ))
Nano.Karmabot.chat
Choice! Uniteddude got +1 from biz87. 12 karma in total.
Roman
Парни привет, подскажите, как проверить AjaxSnippet на пустое значение? Пробовал через {set но он там по умолчанию подставляет свой блок.
Ilya
Msync не обновляет количество товаров в msremains. В чем может быть проблема ? 1с выгружает как следует все.
До сих пор вопрос актуален, пол ночи сидел, разобрал код, понял что ничего не понял, остатки он видит, но не обновляет
Roman
да, скажем нет товаров.
Евгений
как и remains вроде
Dan
да, скажем нет товаров.
[[!AjaxSnippet:default=`Нет товаров`? &snippet=`pdoResources` &parents=`0` &tpl=`@INLINE <p>[[+idx]]. <a href="[[+link]]">[[+pagetitle]]</a></p>` &useWeblinkUrl=`1` ]]
Dan
Так не сработает?
Dan
А на fenom как?
{'!AjaxSnippet' | snippet : [ ... ] ?: 'Нет товаров'}
🅳🅼🅸🆃🆁🆈
Подскажите, в чем проблема может быть. В MODX версии 2.8.3 при добавлении картинки отк. файловый менеджер в котором можно выделить картинку и нажать кнопку ОК (верхний скрин). В версии 2.8.4 открывается совсем другое окно и там таких кнопок нет (нижний скрин). Редактор CKEditor, но думаю проблема не в нем.
Roman
{'!AjaxSnippet' | snippet : [ ... ] ?: 'Нет товаров'}
Вот так у меня получается. Только он подтягивает свой wrapper ввиде span и получается, что он уже не пустой.
Misha
Друзья, а подскажите в mfilter если результатов меньше 3-х можно какой нибудь чанк вызвать? Клиент хочет добавить блок типа посмотрите ещё
Roman
total запросить
Misha
{if $page.total < 3}{/if}
Вот тут можно использовать?
Roman
Можешь дописать в сниппете mFilter2
Roman
if (count($ids) < 3) и добавить какие-то еще товары.
Sentinel
mFilter2 принимает все параметры pdopage
Roman
Я вообще такую штуку там дописывал, что если один товар в поиске, то перекидывать сразу на товар: if (count($ids)==1) { $resource = $modx->getObject("modResource", array("id" => $ids[0])); if ($resource->get("published")=='1') { $location = "/".$resource->get("uri"); header ("Location: $location"); die(); } }
Dan
Вот так у меня получается. Только он подтягивает свой wrapper ввиде span и получается, что он уже не пустой.
Если там всего лишь span, то можно $catalogProducts сравнить просто с этим пустым wrapper-ом
Dan
{if $page.total < 3}{/if}
только вот плейсхолдеры с точкой и тире так не указываются