Permalänk
Medlem

PHP template

Hejsan,

Jag undrar vilken template-motor som ni därute rekommenderar att man använder sig utav.

Visa signatur
Permalänk
Medlem

Du menar CMS(Content Management System) ?

Beror ju lite på vad man behöver.
Wordpress är populärt(mest använt atm), Joomla också.

Jag har nyligen lärt mig CMS Made Simpel som är riktigt enkelt att lära sig samt designa till. http://www.cmsmadesimple.org/

Visa signatur

Canon 70D | 2x Dell Ultrasharp 24" | Ryzen 3700X | 32B | GTX 1080Ti

Permalänk
Medlem
Skrivet av FlorrpaN:

Du menar CMS(Content Management System) ?

Beror ju lite på vad man behöver.
Wordpress är populärt(mest använt atm), Joomla också.

Jag har nyligen lärt mig CMS Made Simpel som är riktigt enkelt att lära sig samt designa till. http://www.cmsmadesimple.org/

Nope, jag menar templatesystem såsom Smarty.

Visa signatur
Permalänk
Legendarisk
Skrivet av FlorrpaN:

Du menar CMS(Content Management System) ?

http://en.wikipedia.org/wiki/Template_engine_(web)

@Brajan: Om du inte har några särskilda funktionskrav, behöver dela templates mellan olika miljöer etc., så fungerar plain PHP utmärkt. Kräver dock extra disciplin för att bibehålla god separation mellan lagren.

Skickades från m.sweclockers.com

Visa signatur

Abstractions all the way down.

Permalänk
Medlem
Skrivet av Tunnelsork:

http://en.wikipedia.org/wiki/Template_engine_(web)

@Brajan: Om du inte har några särskilda funktionskrav, behöver dela templates mellan olika miljöer etc., så fungerar plain PHP utmärkt. Kräver dock extra disciplin för att bibehålla god separation mellan lagren.

Skickades från m.sweclockers.com

Anledningen till att jag främst vill försöka mig på ett template-system är för att jag ska bygga en snygg orderbekräftelse som man får via mail. Jag får verkligen inte till det så att det blir snyggt uppbyggt via plain HTML och PHP.

Visa signatur
Permalänk
Legendarisk
Skrivet av Brajan:

Anledningen till att jag främst vill försöka mig på ett template-system är för att jag ska bygga en snygg orderbekräftelse som man får via mail. Jag får verkligen inte till det så att det blir snyggt uppbyggt via plain HTML och PHP.

En väldigt enkel variant kan se ut så här:

<?php class Template { private $env = [], $path = null; public function __construct($path) { $this->path = $path; } public function set($key, $value) { $this->env[$key] = $value; } public function render() { ob_start(); extract($this->env); include($this->path); return ob_get_clean(); } } // I din controller: $tpl = new Template("view.tpl.php"); $tpl->set("foo", "bar"); echo $tpl->render(); /* I din template: <!DOCTYPE html> <html> <head> <title>Test</title> </head> <body> <h1><?= $foo ?></h1> </body> </html> */

Skickades från m.sweclockers.com

Visa signatur

Abstractions all the way down.

Permalänk
Medlem
Skrivet av Brajan:

Nope, jag menar templatesystem såsom Smarty.

Smarty.............

Permalänk
Medlem

Testa Premailer för att konvertera din html till "mailsäker" html: http://premailer.dialect.ca/

Visa signatur

Mina poster är en illusion. Det som står skrivet här över står i själva verket inte där så inget av det som du läser är sant. Inte ens den här texten. Jag har själv ingen kunskap om det jag skriver och ingen bör således läsa eller ta in den information som står skrivet.

Permalänk
Medlem
Skrivet av Tunnelsork:

En väldigt enkel variant kan se ut så här:

<?php class Template { private $env = [], $path = null; public function __construct($path) { $this->path = $path; } public function set($key, $value) { $this->env[$key] = $value; } public function render() { ob_start(); extract($this->env); include($this->path); return ob_get_clean(); } } // I din controller: $tpl = new Template("view.tpl.php"); $tpl->set("foo", "bar"); echo $tpl->render(); /* I din template: <!DOCTYPE html> <html> <head> <title>Test</title> </head> <body> <h1><?= $foo ?></h1> </body> </html> */

Skickades från m.sweclockers.com

Fantastiskt.

Jag kan inte komma på hur jag skall skicka in flera värden och skriva ut de i min html-template. Jag har ju flera stycken produkter som skall skickas i en orderbekräftelse. Jag måste skicka med dessa produkter in till min html-template.

Här är mina produkter:

while($row = mysql_fetch_row($result_products)) { $order_items = "INSERT INTO order_items(order_id,product_id,product_name,product_price,quantity,flavor) VALUES( '{$row_order_id[0]}', '$product_id', '{$row[0]}', '{$row[1]}', '$qty', '$flavor')"; mysql_query($order_items) or die(mysql_error()); //Mina produkter $products .= "<p>" . $row[0] . "st " . $qty . " " . $flavor . " " . " " . $row[1] . " " . $qty * $row[1] . "kr</p>"; $total_price += $qty * $row[1]; }

Så här vill jag loopa ut de i min template som sedan skall skcikas via mail:

<table width="100%" border="0" cellpadding="4" cellspacing="2" class="pr"> <tr style="font-size:11px;border-bottom:1px solid #acacac"> <th class="tblhead">Produkt</th> <th class="tblhead">Smak</th> <th class="tblhead">Antal</th> <th class="tblhead">A-pris</th> <th class="tblhead">Pris</th> <tr> <!-- LOOPA UT HÄR --> <td>Fisk</td> <td>Choklad</td> <td>2</td> <td>399</td> <td>798</td> </tr> </tr>

Såhär anropar jag klassen och skickar in parametrar:

// I din controller: $orderconfirmation_body = new Template("view.tpl.php"); $orderconfirmation_body->set("bar", $products); //bar är variabelnamnen som kommer att användas i templaten $orr = $orderconfirmation_body->render();

Det är ju set-metoden jag skickar in de olika värderna som används för att loopa ut allt i templaten.

Visa signatur