Артур Шевченко

Артур Шевченко

С нами с 24 мая 2019; Место в рейтинге пользователей: #7
Отправить деньги
Артур Шевченко
12 февраля 2021, 11:34
-1
Вы знаете, что в форме можно передать массив, если название поля написать вот так fieldname[]? Также, если вы посмотрите в стандартный чанк msProductRow, то заметите, что в форме есть скрытое поле options[], оно передаётся на сервер как массив и в него можно запихнуть любое значение. Если вам пришлось создать новую опцию, значит либо я не понял что вы делаете, либо вы. Третьего не дано? И для общего развития, можете посмотреть в базе как хранятся опции, ради эксперимента, сделайте, как я написал, потом найдите в таблице ms2_order_products товар и посмотрите какие у него есть опции ?
Артур Шевченко
12 февраля 2021, 11:11
-1
В смысле новую опцию заводить? В настройках-то? А я разве говорил, что это нужно сделать? Массив формируется вне зависимости от того, есть эта опция или нет в настройках, а значение можете туда любое записать хоть ТВ, хоть псевдоним
Артур Шевченко
11 февраля 2021, 22:43
-1
в карточке товара внутри формы добавления в корзину добавляете
<input type="hidden" name="options[size_title]" value="{$_modx->resource.size_title}">
В корзине и в письме появится свойство $product.options['size_title']
Артур Шевченко
11 февраля 2021, 22:24
-1
Если вы хотите передать значение тв в письмо, записывайте его в options[].
Артур Шевченко
11 февраля 2021, 16:41
-1
Код вызова и полный код шаблона в студию. Можно ещё showLog приложить.
Артур Шевченко
10 февраля 2021, 20:25
0
В возможных параметрах у вас заголовок и id страницы статьи? 'parents'=>89 — это что? список статей? список авторов? И вообще почему LIKE? Вам же нужно точное совпадение, должно быть =
Артур Шевченко
09 февраля 2021, 23:47
-1
В modx только один механизм привязки Группа пользователей и Группа ресурсов. Подробнее тут
Артур Шевченко
09 февраля 2021, 23:45
-1
Если именно через msOptionsPrice2, то нужно будет создать модификации на все варианты. например у вас есть опция-1, опция-2, опция-3, вам нужно создать модификации
опция-1
опция-1+ опция-2
опция-1+опция-2+опция-3
И на фронте возможно доработать js придётся.
Артур Шевченко
09 февраля 2021, 00:06
-1
А это разве влияет на работу?
Артур Шевченко
08 февраля 2021, 17:37
-1
Нет, не знаю. Знаю точно, что его можно написать самому.
Артур Шевченко
08 февраля 2021, 16:52
-1
Поэтому лучше написать сниппет, который будет оправлять данные для перевода по api, и сохранять полученный перевод. А запускать его можно через консоль или по крону.
Артур Шевченко
08 февраля 2021, 15:53
-1
Я с этим компонентом не работал, но вот тут написано, что есть события для плагинов, скорее всего вам нужно это xParserOnBeforeTaskActions, но это не точно и вот в нём надо вытащить данные для перевода, передать их по api в переводчик, получить перевод и сохранить уже переведенный текст. НО мне кажется это будет слишком долго. Поэтому лучше написать сниппет, который будет оправлять данные для перевода по api, и сохранять полученный перевод. А запускать его можно через консоль или по крону.
Артур Шевченко
08 февраля 2021, 15:24
-1
Всё просто, берешь api для перевода, при парсинге отправляешь контент на перевод, потом сохраняешь. А готовых решений нет.
Артур Шевченко
07 февраля 2021, 02:53
-1
Выбирается где? На фронте в той же форма где ваш price? Вы в консоли браузера посмотрите на вкладке network запрос к action.php там все данные которые в этот момент уходят на сервер, если там есть то что нужно, значит оно есть в двух из трёх массивов л которых я писала выше.
Артур Шевченко
07 февраля 2021, 02:27
-1
Если событие срабатывает после отправки формы, то значения всех инпутов из этой формы находятся либо в глобальном массиве $_POST, либо в глобальном массиве $_GET, и в глобальном массиве $_REQUEST. Если значение в этом массиве не соответствует ожидаемому, значит оно было перезаписано, нужно поменять ключ не price, а например myprice. Поскольку это глобальные массивы они доступны и в плагине тоже. Других вариантов получить инпут не существует.
Артур Шевченко
07 февраля 2021, 02:22
-1
Вы пробовали делать так
$values = $modx->event->returnedValues;
$values['price'] = $_POST['price'];
$modx->event->returnedValues = $values;
?
Артур Шевченко
07 февраля 2021, 01:01
-1
Но в документации не так, рекомендую попробовать как там, т.е. не по ссылке.
Артур Шевченко
07 февраля 2021, 00:28
-1
Ну это скрипт, который срабатывает при определенном событии, зачастую туда инициализирующих скрипт передает какие-то данные, иногда чтобы изменить данные в плагине нужно получить их по ссылке. Чтобы лучше понять какие данные приходят в плагин полезно посмотреть исходный код класса. И самое первое, что вы должны были сделать заглянуть в документацию там есть пример плагина. Так что конкретно не получается? Вернуть новые значения? А у вас вот эта строка есть
$modx->event->returnedValues = $values;