Новости Joomla

Совет по Joomla: несколько значений по умолчанию в XML-формах для стандартных полей типа list

👩‍💻 Совет по Joomla: несколько значений по умолчанию в XML-формах для стандартных полей типа list.При работе над плагином возникла необходимость указать стандартный набор из нескольких элементов стандартного поля списка. И хотелось указать их в стандартном же атрибуте default для полей. Когда это нужно?Когда Ваши пользователи устанавливают плагин и НЕ заходят в настройки - в коде вы можете использовать значения по умолчанию с помощью класса Registry (писал об этом ранее) и всегда быть уверенным, что хоть какие-то жизненно необходимые параметры к вам придут всегда. 🧐 Но как сделать то же самое для интерфейса админки?Пользователя нужно направлять, предлагать очевидный работоспособный сценарий для начала, а дальше он уже сам разберется. Когда человек заходит в параметры свежеустановленного плагина в Form ещё нет данных и параметры по умолчанию выставляются из атрибутов default в xml-полях.
<field name="showdesc" type="radio"                       label="PLG_CFI_PARAM_SHOWDESC"                       class="btn-group btn-group-yesno"                       default="1">                    <option value="0">JNO</option>                    <option value="1">JYES</option>                </field>
Здесь по умолчанию будет включено "Да". И если пользователь не переключит параметр, то при сохранении мы ожидаемо получим "да" в params плагина.Для поля списков type=&quot;list&quot; можно указать значение по умолчанию и многие знают, что его можно указать только одно.
<field type="list"                       name="article_fields"                       label="article_fields"                       description="article_fields_desc"                       layout="joomla.form.field.list-fancy-select"                       multiple="true"                       default="id"                >                    <option value="id">id</option>                    <option value="title">title</option>                    <option value="alias">alias</option>                    <option value="introtext">introtext</option>                    <option value="fulltext">fulltext</option>                    <option value="state">state</option></field>
Но у нас поле с множественным выбором (атрибут multiple) и хотелось бы указать несколько значений по умолчанию...Оказывается, так можно сделать. Для этого в атрибуте default нужно указать json с нужными параметрами в виде {int}key : {string} value.Например, default='{"0":"id","1":"title"}'.
<field type="list"                       name="article_fields"                       label="article_fields"                       description="article_fields_desc"                       layout="joomla.form.field.list-fancy-select"                       multiple="true"                       default='{"0":"id","1":"title"}'                >                    <option value="id">id</option>                    <option value="title">title</option>                    <option value="alias">alias</option>                    <option value="introtext">introtext</option>                    <option value="fulltext">fulltext</option>                    <option value="state">state</option></field>
⚠️ Обратите внимание на кавычки! Поскольку json_decode не понимает одинарные кавычки собственно json нужно писать с двойными, а значение для атрибута default писать в одинарные.🙏 За подсказанное решение огромное спасибо участникам нашего сообщества - разработчикам Дмитрию Васюкову (@fictionlabs) и Игорю Бердичевскому (@septdir).@joomlafeed#joomla #разработка #webdev #development

0 Пользователей и 1 Гость просматривают эту тему.
  • 5 Ответов
  • 4035 Просмотров
*

NatashaLebed

  • Новичок
  • 4
  • 0 / 0
Как чтобы в отправителе письма было значение поля. Ставлю галочку в Mailback as sender, но почему то не работает. Может причина в хосте или настройке Configuration.php  Вот часть моего Configuration.php
        public $mailer = 'sendmail';
   public $mailfrom = 'kach@d120.ukraine.com.ua';
   public $fromname = 'hotel';
   public $sendmail = '/usr/sbin/sendmail';
Отправитель в письме - hotel
Поиогите пожалуйста, надо срочно
*

asav2011

  • Захожу иногда
  • 104
  • 5 / 0
Какое именно поле?
*

NatashaLebed

  • Новичок
  • 4
  • 0 / 0
Поле Фамилия
Type - TextField
в закладке Advanced, Mailback is sender - С галочкой


Читаю инглиш форум этого компонента по теме http://crosstec.de/en/forums/5-bugs/42112-mailback-as-sender-return-path-is-wrong.html

Английский слабо, может не так поняла. Кто-то писал чтобы настроить в Joomla отправку почты через smtp сервер и все будет гуд. Я настроила, отправляет все также.

Другой пишет, что разработчики ему ответили, мол это проблема Joomla (this is a known issue but not from BreezingForms. It is related to the mailserver configuration and Joomla which overwrite the from mail address with the admin mail address.). Но в Joomla 1.5 + компонент ArtForms работало. Сейчас у меня Joomla 2,5 + BreezingForms. Сомневаюсь, что проблема в Joomla, на 1.5 все таки работало.

У кого-нибудь работала эта функция Mailback as sender? Может стоит искать другой компонент? Просто под Joomla 2,5 и бесплатно не так их и много. С каждым разобпаться надо, а времени в обрез. Хелп ми плииииз
*

asav2011

  • Захожу иногда
  • 104
  • 5 / 0
Поле Фамилия
Type - TextField
в закладке Advanced, Mailback is sender - С галочкой


Читаю инглиш форум этого компонента по теме http://crosstec.de/en/forums/5-bugs/42112-mailback-as-sender-return-path-is-wrong.html

Английский слабо, может не так поняла. Кто-то писал чтобы настроить в Joomla отправку почты через smtp сервер и все будет гуд. Я настроила, отправляет все также.

Другой пишет, что разработчики ему ответили, мол это проблема Joomla (this is a known issue but not from BreezingForms. It is related to the mailserver configuration and Joomla which overwrite the from mail address with the admin mail address.). Но в Joomla 1.5 + компонент ArtForms работало. Сейчас у меня Joomla 2,5 + BreezingForms. Сомневаюсь, что проблема в Joomla, на 1.5 все таки работало.

У кого-нибудь работала эта функция Mailback as sender? Может стоит искать другой компонент? Просто под Joomla 2,5 и бесплатно не так их и много. С каждым разобпаться надо, а времени в обрез. Хелп ми плииииз


Заходите в настройки формы.
Вкладка Submit pieces

Выбираете Type:Custom

Код
global $mosConfig_mailfrom, $mosConfig_fromname;
$this->execPieceByName('ff_InitLib');
$my="Здравствуйте!

$this->sendMail(
    $mosConfig_mailfrom,                // email addr of submitter (1)
    $mosConfig_fromname.'ИМЯ ОТПРАВИТЕЛЯ',   // name of submitter (1)
    ff_getSubmit('cf_email'),              // email of recipient (2)
    ТЕМА ПИСЬМА,            // subject of the mail (3)
    $my             // body of the mail (3)
);
*

NatashaLebed

  • Новичок
  • 4
  • 0 / 0
Проблема решена таким способом.

Мое поле(данные из которого, должны быть в письме как отправитель) имеет имя fio
Далее выбираем форму, вкладка Advanced - More options
В закладке Модули отправки, раздел Конец отправки выбираем ставим тип "другой"
Туда вставляем код

Цитировать
$this->execPieceByName('ff_InitLib');
$from = ff_getSubmit('mailpost'); // Change this to the EMAIL ADDRESS you want to appear in the Email's FROM field
$fromname = ff_getSubmit('fio'); // Change this to the 'FROM' NAME you want to appear in the Email
$subject = 'Бронирование';
$body = '';

foreach ($this->maildata as $data) {
   $body .= $data[_FF_DATA_TITLE]."   ".$data[_FF_DATA_VALUE].nl();
}

$body .= nl();
$body .= 'Дополнительная информация:' . nl();
$body .= BFText::_('COM_BREEZINGFORMS_PROCESS_SUBMITTERIP'). ": " . $this->ip . nl();
$body .= BFText::_('COM_BREEZINGFORMS_PROCESS_SUBMITTEDAT'). ": " . $this->submitted . nl();


$this->sendMail($from, $fromname, "мойемейл@gmail.com", $subject, $body);

Чтобы письма не дублировались, так как мы написали свой скрипт отправки, снимаем галочку Mail notification в Properties формы
*

NatashaLebed

  • Новичок
  • 4
  • 0 / 0
asav2011 спасибо за ответ, надо будет посмотреть и этот вариант решения
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Добавить в тему письма номер ID

Автор noVel

Ответов: 0
Просмотров: 3594
Последний ответ 22.09.2017, 05:58:25
от noVel
Тема письма

Автор murat

Ответов: 6
Просмотров: 5634
Последний ответ 24.05.2016, 14:25:40
от bgg87
Не отправляются письма в Joomla 3.5.1

Автор STALKER_02rus

Ответов: 0
Просмотров: 4080
Последний ответ 25.04.2016, 07:55:32
от STALKER_02rus
BreezingForms 1.8.2 Stable (build 814) Настройка шаблона письма

Автор Levshaszr

Ответов: 7
Просмотров: 7578
Последний ответ 25.08.2015, 21:29:39
от Exciter
Не могу настроить - не отправляются письма!

Автор nick71

Ответов: 0
Просмотров: 1908
Последний ответ 26.12.2014, 19:08:30
от nick71