Новости Joomla

Рендер пользовательского поля внутри другого пользовательского поля. Joomla 5.3

Писал ранее о том, как внутри одного пользовательского поля рендерить другое пользовательское поле. Применил для этого возможность Joomla обращаться к методам плагинов напрямую. Процитирую строчку кода из предыдущего поста:

<?php
$joomlaFieldContentPlugn->onContentPrepare('com_content.article', $fakeItem, $app->getParams());

Joomla постепенно переходит от простого указания аргументов для триггеров плагинов к собственным классам событий. Это позволяет не запоминать порядок передачи аргументов класса и использовать человекопонятные методы $event->getContext(), $event->getItem() и т.д. А то в одном месте в Joomla было $article, в другом - $item, в третьем ещё как-то... Порядку больше становится.

Сегодня обновил сайт клиентов до Joomla 5.3. В ней обновили контент-плагин fields и мой финт ушами с вызовом метода плагина отвалился потому, что я передавал в нём 3 аргумента, вместо одного. И для события onContentPrepare это должен быть объект класса ContentPrepareEvent. Как меняется фрагмент кода из предыдущего поста:

<?php
// мы находимся в файле макета поля

use Joomla\CMS\Event\Content\ContentPrepareEvent;
use Joomla\CMS\Factory;

$app = Factory::getApplication();
$fakeItem = new \stdClass();
// Получаем id текущего материала из объекта Input
$fakeItem->id = $app->getInput()->getInt('id');
// {field 29} - это шорт код вставки поля с id 29 - "ассортимент проекта"
// к содержимому поля конкатенируем шорт-код для обработки
$fakeItem->text = $field->value . '{field 29}';
// Получаем объект плагина
$joomlaFieldContentPlugn = $app->bootPLugin('fields', 'content');
// вызываем метод обработки напрямую
// вместо 3-х аргументов теперь указываем один
// это объект класса ContentPrepareEvent
$joomlaFieldContentPlugn->onContentPrepare(new ContentPrepareEvent('onContentPrepare', [
            'context' => 'com_content.article',
            'subject' => $fakeItem,
            'params'  => $app->getParams(),
            'page'    => 0,
        ]));
// выводим оба поля
echo $fakeItem->text;

@webtolkru 

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

lababa

  • Новичок
  • 1
  • 0 / 0
ChronoForms пустые емайлы
« : 22.03.2012, 20:11:33 »
Доброго времени суток! столкнулся с такой проблемкой: создал при помощи ChronoForms форму обратной связи, но мне на почту приходят пустые письма (без информации из полей) хотя в графе Attachments fields name указываю имя поля, хз может я что-то где-то упустил? может в закладке dinamic надо что-то прописать? если да то что и где именно?
Заранее большое спасибо, и сорри за нубский вопрос ;)
*

likproject

  • Осваиваюсь на форуме
  • 28
  • 0 / 0
Re: ChronoForms пустые емайлы
« Ответ #1 : 26.03.2012, 07:45:58 »
 Та же проблема...
Приходят вот такие письма:
Ваше имя    {}
Номер Телефона    {Номер Телефона}
Что Вы выбрали?    {}
   CN7vL


Submitted by 213.87.140.63
что делать не знаю...
*

Unibrong

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Re: ChronoForms пустые емайлы
« Ответ #2 : 15.03.2013, 20:21:01 »
Подскажите пожалуйста, Проблему решили?
*

Kyrsor

  • Захожу иногда
  • 317
  • 4 / 2
Re: ChronoForms пустые емайлы
« Ответ #3 : 04.12.2013, 09:28:58 »
Такая же ерунда, кто решил?
*

Raposo

  • Осваиваюсь на форуме
  • 14
  • 1 / 0
Re: ChronoForms пустые емайлы
« Ответ #4 : 11.03.2015, 00:04:51 »
Такая же проблема. Проверил - если втупую в адресной строке указать то что находится в атрибуте action формы (Домен?chronoform=имя-формы&event=submit) и нажать ентер - без всяких проверок отправляется то самое пустое письмо. Очевидно многие боты так и делают. Надо б покопать где в php обработка отправки и добавить туда проверку.
*

Raposo

  • Осваиваюсь на форуме
  • 14
  • 1 / 0
Re: ChronoForms пустые емайлы
« Ответ #5 : 11.03.2015, 02:22:53 »
Каких-то пару часов мозгового штурма, чтения англоязычных ФАКов и метода научного тыка и нашлось вполне цивильное решение через админку. Оказывается уже всё придумано до нас. Добавляем в Сетапе в Оn submit блок Server validation и блок e-mail вставляем в его раздел On success.
Если кому помогло - можно лайкнуть тут http://e-h.com.ua/#footerrow (справа снизу), если нужно разжевать подробнее - пишите сюда http://web-factor.com.ua/kontakty.html с темой "Алексею по поводу ChonoForms".
*

pator25

  • Новичок
  • 9
  • 0 / 0
Re: ChronoForms пустые емайлы
« Ответ #6 : 17.02.2016, 20:29:06 »
И у меня тоже самое. Заполняю поля, отправляю форму, а на почту приходят пустые письма.
*

Best223

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: ChronoForms пустые емайлы
« Ответ #7 : 06.07.2016, 17:03:36 »
Подскажите пожалуйста! Создал форму но письма приходят пустые! в чем проблема?
*

NotaBene

  • Новичок
  • 5
  • 0 / 0
Re: ChronoForms пустые емайлы
« Ответ #8 : 03.01.2017, 00:46:07 »
Добавляем в Сетапе в Оn submit блок Server validation и блок e-mail вставляем в его раздел On success.
Очень полезная информация, Алексею большое спасибо. ^-^
*

Igoritaly

  • Давно я тут
  • 659
  • 2 / 0
Re: ChronoForms пустые емайлы
« Ответ #9 : 14.03.2018, 08:11:54 »
Добавляем в Сетапе в Оn submit блок Server validation и блок e-mail вставляем в его раздел On success.

А мне данные манипуляции не помогли. Все также приходят пустые письма если использовать вами описанный маневр (Домен?chronoform=имя-формы&event=submit), хотя все поля обязательные и при нормальном использовании формы невозможно отправить письмо их не заполнив.
*

all_zer

  • Захожу иногда
  • 139
  • 1 / 0
Re: ChronoForms пустые емайлы
« Ответ #10 : 20.05.2019, 12:56:42 »
Та же проблема...
Кто решил ее?
*

Dimon90

  • Осваиваюсь на форуме
  • 19
  • 1 / 0
Re: ChronoForms пустые емайлы
« Ответ #11 : 25.09.2019, 11:07:54 »
В блоке Server validation надо указать настройки проверки. Например, секция Not Empty должна содержать имена полей, для которых выполняется проверка обязательного заполнения.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

url материала на email (ChronoForms) [Решено]

Автор Konstantinl

Ответов: 20
Просмотров: 12164
Последний ответ 12.08.2022, 03:00:20
от jesus
Как выводиться форма в модуле? ChronoForms 7?

Автор Alex_iPod

Ответов: 3
Просмотров: 2279
Последний ответ 26.04.2022, 06:19:06
от marksetter
Как в ChronoForms сделать изменение формы в зависимости от выбора?

Автор sashka17

Ответов: 0
Просмотров: 2341
Последний ответ 08.02.2021, 09:33:52
от sashka17
ChronoForms 3 перестал работать на joomle 2.5.9. Ищу совета или специалиста

Автор RuslanKazan

Ответов: 2
Просмотров: 2424
Последний ответ 09.12.2020, 14:19:18
от draff
Информация с UTM меток в ChronoForms

Автор BykovAlx

Ответов: 1
Просмотров: 3421
Последний ответ 13.07.2020, 15:13:06
от jesus