Эрадж Шамс

Эрадж Шамс

Был в сети 13 июля 2022, 22:03
Заказы принимаю
Точно, уже решил проблему. На будущее:
для локализации в виде en.site.com нужно лишь включить «автоподдомены», это когда поддомены создаются автоматически (не нужно создавать алиасы) или, если на хостинге нет функции «автоподдомены» добавить вручную alias (псевдоним, синоним) en.домен.зона и убрать «главное зеркало» основного домена.
А в htaccess прописать редирект домена и всех поддоменов с www на без www
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
Привет.Ну я так решил задачу
Создаем сниппет TVcheckbox
<?php
$tv = $modx->getObject('modTemplateVar', array('name' => $name));
$elements = $tv->get('elements');
$element = explode('||', $elements);
foreach($element as $e) {
  list($elName,$elId) = explode("==", $e);
  if ($elId == $input) {
    $checked = 'checked';
  } else {
    unset($checked);
  }
  echo '<input type="checkbox" name="'.$name.'[]" id="ticket-'.$name.'-'.$elId.'" value="'.$elId.'" '.$checked.' >
<label for="ticket-'.$name.'-'.$elId.'">'.$elName.'</label>';
}
А в чанке вывода TicketForm выводишь TV так [[+TVпараметр:TVcheckbox]]

Только есть нюанс: когда выделяешь несколько галочек при обновлении эти галочки пропадают (хотя в базу они записались). Если ничего не трогать, они не перезапишутся при сохранении, но если поставить, скажем, одну галочку, то другие слетят. Не знаю ока как решить эту задачу
Здравствуйте, вроде получилось. Правда я переработал в checkbox. Сниппет checkbox
<?php
$tv = $modx->getObject('modTemplateVar', array('name' => $name));
$elements = $tv->get('elements');
$element = explode('||', $elements);
foreach($element as $e) {
  list($elName,$elId) = explode("==", $e);
  if ($elId == $input) {
    $checked = ' checked';
  } else {
    unset($checked);
  }
  echo '<input type="checkbox" name="'.$name.'[]" id="ticket-'.$name.'-'.$elId.'" value="'.$elId.'" '.$checked.'>
<label for="ticket-'.$name.'-'.$elId.'">'.$elName.'</label>';
}
На странице редактирования вывожу
[[+naturale:checkbox]]
Галочки выводятся, результаты проставляются. Ставлю одну галочку, сохраняю, обновляю, галочка стоит! И вот тут две проблемы: если я поставлю еще одну галочку и выберу два или больше вариантов, то checked исчезает у всех, то есть как будто ничего не проставлено, хотя на самом деле в базе они стоят.

И вторая проблема: если я попытаюсь снять галочку, ничего не происходит. Как отправить снятие галочки?

Спасибо за этот вариант! из всех, которые я перепробовал — с этим удалось зайти дальше всего) если решу 2 эти вопроса — то выложу рабочий вариант редактирования через ticketform tv-параметра множественного выбора checkbox
Вечер добрый. Спасибо за обновление. Спама нет. Только теперь не приходят письма с подтверждением регистрации. Сначала думал, что с почтой на сервере что-то не так, потом и так и сяк переменял email адреса ms2_email_manager и emailsender. Все тщетно. Не знаю куда копать.
возможно можно просто добавить пустое поле, с проверкой на валидацию, но не совсем понимаю как это сделать. Вставил в вызов Office
&validate=`site_message:blank`
А в форму регистрации пустое поле
<input style="display:none" type="text" name="site_message" value="" />
но не работает(