These are chat archives for PHPixie/Hotline

6th
Sep 2017
Andrey
@akmetainfo
Sep 06 08:00
Всем привет. Давайте пока временно оставим рубрики "PHPixie. Вопросы по сто рублей" и "вопросы по двести рублей" )) Повысим ставки!
Вопрос чуть посложнее, скажем, на 500 рублёв.
Допустим, на сайте есть некоторая веб-форма, заполнив которую должно уйти два письма. Одно -- уведомление пользователю, что его данные приняты в работу. Другое -- уведомление сотрудника компании о заполнении веб-формы.
В пикси насколько я понял, нет своего мейлера -- поэтому я просто подключаю из композера "phpmailer/phpmailer": "~5.2.24",
С этим мейлером я работал (так же как и @sobolevna ) поэтому вопросы возникают чисто архитектурные.
Их два
Andrey
@akmetainfo
Sep 06 08:07
Мейлеру нужно передать некоторые параметры авторизации (логин-пароль) на почтовом сервере, в прошлых проектах я кидал в корень сайта config.ini и делал там нужные секции. Как и куда прописывать подобные настройки в проекте? Будет ли правильно положить их рядом с /assets/config/database.php и прочими файлами? Или положить в папку моего бандла?
Второй вопрос касается шаблонов письма.
Andrey
@akmetainfo
Sep 06 08:13
Мейлеру необходимо передать два текста письма ($this->mail->Body для html-версии письма и $this->mail->AltBody для plain text версии письма), естественно возникает логичная мысль, что нужно подготовить несколько шаблонов писем используя встроенный шаблонизатор PHPixie и аналогично тому, как мы генерируем текст для отправки в браузер -- готовить и тексты для отправки по почте.
С почтой хотелось бы посмотреть готовый кусок процессора для подготовки шаблона, а также поговорить о том, как структурировать папки шаблонов -- куда логичнее засунуть почтовые шаблоны.
sobolevna
@sobolevna
Sep 06 10:35
@akmetainfo Я не особо напрягался и всё запихал прямо в шаблон, включая вызов мейлера. В шаблоне несколько блоков -- для письма и для вывода на экран. Блоки письма выводились прямо в соответствующие поля мейлера. После того, как письмо отправлено, в случае успеха выводился блок с успехом, в случае неудачи -- блок с неудачей
Что касается того, куда класть логин-пароль для почты, я бы предложил вставить в конфигурацию фреймфорка, а не бандла -- вещь типа глобальная
Andrey
@akmetainfo
Sep 06 10:56
@sobolevna Спасибо за мнение. Я изучаю PHPixie неторопливо, переделываю один пет-проектов понемногу, поэтому у меня есть время и подождать пока на вопросы ответят и самому подумать над структурой. Абы как запихать я всегда успею )
Andrey
@akmetainfo
Sep 06 11:02
Самое простое -- положить в общих шаблонах \bundles\app\assets\templates\mail -- но мне ещё нравится вариант отделить в \bundles\app\assets\mail_templates (правда я так понимаю, что придётся настраивать поиск шаблонов ещё и в этой папке)
или \bundles\app\assets\templates_mail (название менее корректное, зато папки будут рядом)
sobolevna
@sobolevna
Sep 06 11:05
@akmetainfo Разумно. Я в своё время напихал абы как (из расчёта, что буду всё делать на пикси) и всю архитектуру построил так: какой рут пришёл -- вот по такому адресу и достаётся шаблон, где вся логика. Потом понял, что фронт-энд, вполне вероятно, будет писаться сильно отдельно и начал всё переделывать так, чтобы, в зависимости от пришедших параметров, один и тот же код выдавал либо html, либо json
Про папки: это можно сделать, покопавшись в конфиге /bundles/app/assets/config/templateLocator.php