Verktyg Visningsval
2012-07-17, 12:12   #1

Brajan

Medlem

Brajans avatar

Plats: Växjö

Registrerad: apr 2007

PHP template


Hejsan,

Jag undrar vilken template-motor som ni därute rekommenderar att man använder sig utav.
__________________
http://ocnordic.com
Brajan är inte uppkopplad
2012-07-17, 12:32   #2

FlorrpaN

Medlem

FlorrpaNs avatar

Plats: Sundsvall/njurunda

Registrerad: dec 2006

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/
__________________
i7 3770k |ASUS P8Z77-V PRO|16B-RAM|Gainward GTX 570
FlorrpaN är inte uppkopplad
2012-07-17, 12:44   #3

Brajan

Medlem

Brajans avatar

Plats: Växjö

Registrerad: apr 2007

Citat:
Ursprungligen inskrivet av FlorrpaN Visa inlägg
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.
__________________
http://ocnordic.com
Brajan är inte uppkopplad
2012-07-17, 12:48   #4

Tunnelsork

Medlem

Plats: foo

Registrerad: feb 2010

Citat:
Ursprungligen inskrivet av FlorrpaN Visa inlägg
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

Senast redigerad av Tunnelsork 2012-07-17 klockan 12:50.
__________________
Akta gräsmattan!

Tunnelsork är inte uppkopplad
2012-07-17, 13:16   #5

Brajan

Medlem

Brajans avatar

Plats: Växjö

Registrerad: apr 2007

Citat:
Ursprungligen inskrivet av Tunnelsork Visa inlägg
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.
__________________
http://ocnordic.com
Brajan är inte uppkopplad
2012-07-17, 14:55   #6

Tunnelsork

Medlem

Plats: foo

Registrerad: feb 2010

Citat:
Ursprungligen inskrivet av Brajan Visa inlägg
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
__________________
Akta gräsmattan!

Tunnelsork är inte uppkopplad
2012-07-17, 16:59   #7

iXam

Medlem

iXams avatar

Plats: Stockholm

Registrerad: jan 2004

Citat:
Ursprungligen inskrivet av Brajan Visa inlägg
Nope, jag menar templatesystem såsom Smarty.
Smarty.............
iXam är uppkopplad nu
2012-07-17, 17:10   #8

rumpnisse

Medlem

rumpnisses avatar

Plats: Göteborg

Registrerad: jan 2006

Testa Premailer för att konvertera din html till "mailsäker" html: http://premailer.dialect.ca/
__________________
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.
rumpnisse är inte uppkopplad
2012-09-26, 14:10   #9

Brajan

Medlem

Brajans avatar

Plats: Växjö

Registrerad: apr 2007

Citat:
Ursprungligen inskrivet av Tunnelsork Visa inlägg
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.
__________________
http://ocnordic.com
Brajan är inte uppkopplad
Sök jobb