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

Артур Шевченко
13 марта 2022, 22:17
0
Вот я и спрашиваю где определен и зачем его получать $_modx->getPlaceholder('email_subject'), если он определен как ТВ то надо так $_modx->resource.email_subject, если в ClientConfig или системных настройках то так $_modx->config.email_subject
Александр Быковский
13 марта 2022, 21:22
0
там же где и email, в форме, только email_subject определён заранее, до отправки, а email непосредственно в момент
Артур Шевченко
13 марта 2022, 20:38
0
А где определяется плэйсхолдер email_subject?
Артур Шевченко
13 марта 2022, 20:18
0
Хорошо. Буду ждать.
Николай Савин
13 марта 2022, 19:04
0
Спасибо. Выберу время проверю хорошенько.
Андрей
13 марта 2022, 15:01
0
Как относится импорт к html разметке? В этих тегах вероятно указаны либо поля ресурса (pagetitle, longtitle и т.п.), либо ТВ параметры, при импорте их разумеется можно заполнить.
Артур Шевченко
13 марта 2022, 14:55
0
Понял тебя, зашлю на днях)))
Николай Савин
13 марта 2022, 08:24
0
Знаешь как мне страшно в Minishop PR слать. Более того — я точно знаю, что мой код фигня полная, по сравнению с тем что делают старшие товарищи. Но это хоть какой то движ.
Артур Шевченко
13 марта 2022, 00:09
0
Да, только я не знаю достаточно ли хорош код для этого?
Николай Савин
12 марта 2022, 21:55
0
Pull Request будешь делать?
Всеволод
12 марта 2022, 21:06
0
Подразумевается именно теги
<meta name="Description"> и <title>
Артур Шевченко
12 марта 2022, 15:01
+1
Да, именно там можно взять.
Александр Быковский
12 марта 2022, 14:45
0
Добрый день. Чтобы не создавать новый топик опишу ситуацию здесь.
Имею такой вызов сниппета AjaxForm
{'!AjaxForm'|snippet:[
  'snippet' => 'FormIt',
  'form' => '@FILE chunks/feedback/feedback_form.tpl',
  'emailTpl' => '@FILE chunks/feedback/feedback_letter.tpl',
  'hooks' => 'chekSpamProtectionMessageKey,checkSpam,email,FormItSaveForm',
  'formName' => 'Форма'
  'formFields' => 'name,email,phone,message',
  'fieldNames' => 'name==Имя отправителя,email==Электронная почта,phone==Телефон,message==Сообщение',
  'emailTo' => 'email_to'|config,
  'emailSubject' => $_modx->getPlaceholder('email_subject'),
  'emailReplyTo' => $_modx->getPlaceholder('email'),
  'emailFrom' => 'email_from'|config,
  'emailFromName' => 'site_name'|config,
  'validate' => 'name:required,email:email:required,message:required,nospam:blank,usecontrol:blank',
]}
Соответственно значение emailReplyTo берется из поля email отправляемой формы. И оно удачно отправляется.
Но вот данные для emailSubject планировал брать из скрытого поля
<input type="hidden" name="email_subject" id="af_email_subject" value="Форма обратной связи">
значение которого меняется в зависимости от шаблона и выбранных настроек, чтобы не плодить формы.Так вот оно не отправляется. Письма приходят без темы.
Но если использовать такую конструкцию в вызове
'emailSubject' => '[[+email_subject]]',
то всё работает.
Я где-то что-то упустил? Спасибо
Андрей
12 марта 2022, 14:40
+1
Пробелы поставь после фигурной скобки в метрике и всё будет работать. Пробелы вокруг фигурных скобок
Евгений Webinmd
12 марта 2022, 14:08
0
гони рубль
Александр Быковский
12 марта 2022, 14:07
0
я правильно понимаю, что код сниппета можно взять из файла snippet.ajaxform.php в вашем репозитории ajaxform_without_jquery на гитхаб?
Николай Савин
12 марта 2022, 13:42
0
Здравствуйте. Нет таких планов нет. В первую очередь потому что никто не спрашивает. Вы на моей памяти первый. Мы можем обсудить этот вопрос.
Вы действительно активно пользуетесь таким компонентом?
Что нового вы ждете от компонента? Ну кроме очевидного обновления библиотеки.
Вы готовы участвовать в спонсировании обновления? Как альтернатива вы готовы видеть компонент платным и покупать его?
Артур Шевченко
12 марта 2022, 13:27
0
Забыл написать про то, что код сниппета тоже надо заменить. Дело в том, что в сниппет передавался массив параметров $scriptProperties, затем создавался экземпляр класса, где в конструкторе эти параметры объединялись с дефолтной конфигурацией, но дальше по коду почему-то использовались параметры $scriptProperties, а не конфигурация экземпляра класса. Это поведение я изменил вот так:
$AjaxForm = new AjaxForm($modx, $scriptProperties);
$config = $AjaxForm->config;

$snippet = $modx->getOption('snippet', $config, 'FormIt', true);
$tpl = $modx->getOption('form', $config, 'tpl.AjaxForm.example', true);
$formSelector = $modx->getOption('formSelector', $config, 'ajax_form', true);
$objectName = $modx->getOption('objectName', $config, 'AjaxForm', true);