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

Василий Наумкин
06 августа 2021, 15:32
+2
В описании сказано, используются jQuery.Form и jQuery.jGrowl.
То есть, ему нужен jQuery.
Можно ли обойтись без него?
Я даже не буду ничего отвечать, и процитирую самого автора:
Самый клоунский комментарий, который вызывает улыбку :)))
Тодор
06 августа 2021, 15:30
0
Все значения из формы записываються в modx_formit_forms в поле values в json формате. Етот код:
$hook->setValue('user_id', $user_id);
Добавляєт елемент в масив values
Игорь
06 августа 2021, 12:10
0
Здравствуйте.
На сайте используется msBonus2, а также некая самописная система промокодов.
Задача №1: Нужно что бы при оформлении заказа использовалось что-то одно — с этим я разобрался: просто при выборе оплаты бонусами, очищаю поле промокода (и наоборот) с помощью js.
Задача №2: Нужно что бы при использовании промокода, бонусы за заказ не начислялись — тут я не знаю что делать. Прошу помочь советом.
Татьяна
06 августа 2021, 01:12
0
в общем да, вы правы, почта нужна.
ибо был магаз и я там не настраивала обратное письмо покупателю, владельцу было важным поле майла оставить необязательным. в итоге что? в итоге народу не нравиться, что по их заказу не приходит подтверждение :)
Татьяна
06 августа 2021, 00:54
0
в INLINE чанках не работают модификаторы(фильтры вывода)
да я уже это поняла)

и спасибо вам, Евгений, Огромное! Вы мне очень, очень помогли)

сделала через else — и все заработало как мне надо. прям душа порадовалась)
Евгений Webinmd
06 августа 2021, 00:39
0
в INLINE чанках не работают модификаторы(фильтры вывода) модх, попробуйте заменить на fenom

{if $_pls['tv.presence'] == 1} Да {/if}
Татьяна
06 августа 2021, 00:36
0
ага, именно там где вы думаете.

к сожалению я поняла уже что есть проблемы с вызовом именно тут. но так и не смогла прокрасться к верному решению.

&tpl=`@INLINE: [[+pagetitle]] купить в Минске
[[+pagetitle]]
[[+tv.dopifaProduct]]

{{+tv.presence}}
{if $tv.presence | match: '1'} да {/if}
{if $tv.presence == «1»} Да {/if}



`

в общем, сия конструкция отрабатывает только первая, показывает единицу. остальные — глухо. хоть и смотрела документацию, все равно не понимаю что я делаю не так.
уже дошло до того что тупо начала перебирать варианты написания, я думала может кавычки какие неправильно написала, или еще что, бывает же что поставишь что-нибудь не то.

вынос в отдельный чанк — не вариант, у меня таких пару страниц и на каждой отдельная фильтрация, поэтому надо так реализовать.
можно попробовать как то написать свою функцию, но не знаю точно, будет ли она работать с тв, и не будет ли вызов моей функции замедлять страницу вывода.

в общем, проблема расцвела буйным цветом) прям обидно, никогда не подумала бы что тут окажется засада.
Евгений Webinmd
05 августа 2021, 21:31
0
очень надеюсь что это в отдельном чанке, а не в INLINE
Andrey
05 августа 2021, 17:55
+2
Госпаде! Спасибо Вам святой Вы человек! Пусть мана небесная сыплется бесконечно! Это реально ускоряет работу сайта, прям глаза открыли :DDD

П.С.
А еще закинул чуть чуть рублс для стимуляции подвигов, а это без сомнений подвиг!
Andrey
05 августа 2021, 17:42
0
Плохо понятно. Конструкция верная и должна отрабатывать. Но где здесь pdoPage? Вы это прямо в самом сниппете, внутри, хотите использовать?
Татьяна
05 августа 2021, 15:58
0
пробовала писать и так и этак, либо вообще не отрабатывает, либо отрабатывает как простая переменная, т.е. пишет просто по порядку Есть Нет, как будто условия вообще нет
Татьяна
05 августа 2021, 15:56
0
тв, список, одиночный выбор. заполнение Есть==1||Нет==0
Наумов Алексей
05 августа 2021, 15:51
0
{{+tv.presence}}
это вообще что?..
Татьяна
05 августа 2021, 15:45
0
{{+tv.presence}} такая выводит.

а простая запись {if $presence == «1»} В наличии {/if} — не отрабатывает
Наумов Алексей
05 августа 2021, 15:37
0
{$presence}
Выводит единицу «1»?

Для парсера Fenom будет корректно тогда выражение
{if $presence == "1"}
{else}
{/if}
Іван Клімчук
05 августа 2021, 13:48
0
редис работает как единый сервис в amazon, а уже отдельные серверы с приложением к нему подключаются. Т.е. там одна общая база для всех.
Александр Мельник
05 августа 2021, 11:31
0
я имел ввиду, что выбор инструмента для решения задачи исходит из самой задачи. Возможно для таких систем как ваша, где запрос пользователя случайным образом отправляется на разные сервера, то выбор redis является правильным и удобным инструментом. Хотя не совсем понимаю, как это устроено. Редис работает одновременно на всех серверах и везде данные синхронизированы?
Сергей Шлоков
05 августа 2021, 06:50
+2
И придётся придумывать всё то, что уже есть в сессии. Вообще, в чём проблема-то? В сессии эти данные занимают байты. Ну пусть для всех пользователей это будет килобайты. Ну если уж у тебя большой сайт, то десятки МБ. И то при условии, что все ломятся на страницу с формой. А у большинства это какая-нибудь страница с обратной связью.

Проблемы надо решать по мере их поступления. Вот Алексей споткнулся об гигабайтную таблицу и предложил решение. Но опять же, оно нужно не всем, а только тем, у кого аналогичная проблема. Остальным можно не париться.

Ну а отдельная таблица — это явный оверхед. Тогда уж лучше передавать в форму зашифрованные данные из параметров сниппета в скрытый инпут. В этом случае оверхеда будет гораздо меньше.
Василий Наумкин
05 августа 2021, 04:18
+1
Да, если брать за уникальный id хэш от параметров сниппета и получать его потом из запроса юзера — рабочий вариант. Даже, пожалуй, хороший.

Но тут сразу второй вопорос — каждое дополнение будет устанавливать собственную такую таблицу? Или они все должны использовать какую-то общую? Если общую — как дополнениям об этом договориться, требовать какую-то зависимость, типа нового дополнения AjaxSettingsDB?

И если у вызова сниппета будет какой-то уникальный параметр, типа id юзера, то количество записей в такой БД будет ровно тем же, что и у таблицы сессий. Еще встаёт вопрос еще об очистке этой таблицы — сколько дней хранить в ней настройки?

Но, повторюсь, этот вариант мне нравится и в былые времена я мог бы переписать свои дополнения на хранение настроек в одной общей таблице. Кто сейчас это будет делать — вопрос.