Symfony od wersji 1.3 posiada obsługę maili dzięki znakomitemu Swift Mailerowi. Mailer ten posiada wszystko to czego się powinno spodziewać po zaawansowanej bibliotece do wysyłki elektronicznej korespondecji m.in. wysyłanie za pośrednictwem różnych transporterów (Sendmail, SMTP), obsługę załączników, szyfrowanie czy zabezpieczanie przed email injection. Dzięki symfony funkcje te zostają dodatkowo rozszerzone o kolejkowanie wiadomości w bazie danych czy wysyłanie emaili z crontaba. Niestety jak dotąd jedyną bolączką Swift Mailera i Symfony jest to, że nie oferują one prostego i wygodnego systemu obsługi szablonów. Dzisiaj pokażę jak stworzyć bardzo prostą klasę, która w podstawowym stopniu powinna zaspokoić potrzeby osoby wykorzytującej mailera symfony.
Posts Tagged ‘HTML’
Zarządzanie szablonami email w Symfony
Jak wykonać kod PHP z bazy danych
Przykładowy problem. Tworzymy moduł do wysyłania maili. Z backendem i możliwością edytowania szablonów email z poziomu panelu administracyjnego. Szablony składać się będą z kodu HTML przemieszanego z kodem PHP. Nasuwa się tylko jedno zasadnicze pytanie. Jak parsować kod PHP wyciągnięty z bazy danych?
O ile z samym kodem PHP nie ma żadnego problemu, gdyż wystarczy wrzucić wartość z komórki bezpośrednio do funkcji eval np.:
To w momencie kiedy w kodzie znajduje się także kod HTML, zaczynają się schody. Zobaczmy.
Wrzucenie tego w funkcję eval będzie grzechem śmiertelnym i zaskutkuje błędem typu Fatal Error, ponieważ nie jest to poprawny kod PHP. Zastosujmy małą i niezwykle prostą sztuczkę.
Sposoby wykrywania przeglądarki użytkownika w HTML
Często się zdarza, że potrzebne jest wczytanie osobnego stylu dla Internet Explorera i osobnego dla normalnych przeglądarek. Często też istnieje potrzeba wyłuskania Nazwy przeglądarki lub inych danych i zapisnaie ich np do bazy danych. Na szczęście nie jest to żadnym problemem.
Conditional Comments czyli wykrywanie IE w HTMLu
Html jest językiem statycznym interpretownym przez przęglądarkę, nie ma w nim zmiennych, pętli itp. Istnieje jednak coś takiego jak tzw. Conditional Comments, czyli blok kodu, interpretowany przez jeden rodzaj przeglądarek. Wszyscy już chyba wiedzą o jakie przeglądarki chodzi.
lub

