Editace zdrojového kódu ve formuláři
- Draffix
- Člen | 146
Zdravím, pracuji na svém eshopu a stojím teď před problémem
s nastavením emailových šablon. Viděl jsem možnost, že je možné je
měnit včetně zdrojového kódu a chtěl bych se zeptat, jak na to. Napadlo
mě to dělat přes databázi, tedy vytáhnout to, změnit a zase uložit a při
odeslání emailu záznam použít jako tělo zprávy. Jenže nevím, jak bych
tam mohl vložit nějaké proměnné (něco na způsob
$template->newPass = $newPass;
).. Pak mě napadla možnost
sahat rovnou do souboru a měnit ho, ale to nevím jestli je správné. Jak lze
toto řešit? Jen pro lepší pochopení přikládám screen jak by to mělo
vypadat:
- Šaman
- Člen | 2666
Pročti si dokumentaci. Pokud
nechceš mít zdrojový kód šablony v souboru tak akorát nebudeš používat
FileTemplate. Jinak se nic nemění, data do šablony předáváš normálně
$template->foo = $foo
.
- Draffix
- Člen | 146
@Šaman Takže pokud tomu rozumím dobře, tak mám
třeba v databázi šablonu s obsahem:
<p>{$name}</p>
. A v presenteru udělám tohle?
$template = $this->createTemplate();
$template->name = $name;
$mail = new Message;
$mail->setFrom('sender')
->addTo('receiver')
->setSubject('subject')
->setHtmlBody($template)
->send();
- enumag
- Člen | 2118
Draffix napsal(a):
mkoubik napsal(a):
A měl bys počítat s tím, že kdokoliv kdo bude ty šablony editovat může spouštět jakýkoliv php kód.
A lze se tomu nějak bránit? Protože vyfiltrovávat všechno špatné asi nejde ne?
V tom případě bys nemohl používat Latte ale jen nějaký vlastní mnohem jednodušší filtr. Což by u těchto šablon nejspíše stačilo.