HTML

HTML

AMP

CSS

/** Less doyasını verilen parametreler ile derler
* @param string less dosya yolu
* @param array less için verilecek değerler
* @return string CSS e dönüştürülmüş sonuç
*/
\Swain\HTML\CSS::lessCompile(
    "style.less",
    ["color-primary" => "#f0f0f0"]
);

/** Html data içine style değerlerini gömer
* @param string Html data
* @param string CSS data
* @return string inline style yapılmış html data
*/
\Swain\HTML\CSS::lessCompile(
    "style.less",
    ["color-primary" => "#f0f0f0"]
);

RENDER

Bu class verilen html dosya veya datasını parametreler dahilinde derler. Smarty kütüphanesini kullandığı için, .TPL dosyası hedef gösterilebilir. HTML veya PDF formatında çıktı verebilir. E-Mail gönderimleri için, HTML içinde çağrılmış olaran resim dosyalarını Base64 olarak html inline-image haline dönüştürür.

/** HTML data veya bir dosya kaynağını ele al
* @param string HTML Dosya adresi veya data
* @param boolean Dosyalar peş peşe eklensin mi
* @return object $this
*/
$class->html->render->loadHTML("orders.print.tpl");

$class->html->render->loadHTML("<h1>Deneme</h1>",true);
$class->html->render->loadHTML("<p>lorem...</p>",true);

/** Bir CSS/LESS data veya bir dosya kaynağını ele al
* @param string CSS/LESS dosya adresi veya data
* @param boolean Dosyalar peş peşe eklensin mi
* @return object $this
*/
$class->html->render->loadStyle("order.style.less");

/** Yüklenmiş HTML ve LESS/CSS leri Smarty motoru ile derler.
* @param array Derleme sırasında verilen değişken değerler
* @return object $this
*/
$class->html->render->compile(["name" => "Mansur ATİK"]);

/* Derlenmiş datanın HTML çıktısı */
$class->html->render->getHTML();
/* Derlenmiş datanın PDF çıktısı */
$class->html->render->getPDF();

# örnek
$source = $class->html->render->loadHTML("orders.print.tpl")->compile([
    "order" => $order,
    "products" => $class->products->Select(),
    "categories" => $class->categories->Select(),
    "user" => $class->users->Info(["_id" => $order["id_user"]]),
]);
echo $source->getHTML();
exit;
echo $source->getPDF();
header("Content-type: application/pdf");
header("Content-Disposition: inline; filename=filename.pdf");
exit;

ASSETS

Bu class tema dosyalarından çağrılır. CSS/JS/IMG veya JS kütüphaneleri çağırmak için.

/* Geçerli tema için ASSETS klaösür yolu */
$class->html->assets->getPath(); # /theme/beagle/assets

/** Bir dosya adresini veya tam urlyi düzenler
* @param string verilen link veya url
* @param array bu linke eklenecek "?var=foo" şeklindeki parametreler dizisi
* @return string oluşturulmuş link
*/
$class->html->assets->link($link,$param);

$class->html->assets->link("/css/style.less"); # /theme/beagle/assets/css/style.less
$class->html->assets->link("/css/style.less",["v" => 2]); # /theme/beagle/assets/css/style.less?v=2
$class->html->assets->link("//cdn.swain.run/style.less",["color" => "FFF"]); # //cdn.swain.run/style.less?color=fff

/** Verilen linkin CSS meta veya Script tagını oluşturur
* @param string link
* @param array bu linke eklenecek "?var=foo" şeklindeki parametreler dizisi
* @return string oluşturulmuş meta data
*/
$class->html->assets->css($link,$param);
$class->html->assets->js($link,$param);

# Bunlar Admin/dashboard temalarında , sayfa gövdesinde ihtiyaç duyulan kütüphaneleri footer da çağrılması için kullanılır.
/** Verilen linkleri biriktirir.
* @param string link
* @param array bu linke eklenecek "?var=foo" şeklindeki parametreler dizisi 
*/
$class->html->assets->useCss($link,$param);
$class->html->assets->useJs($link,$param);
/** Biriktirilmiş Css/Js linklerini çağırır 
* @return string Biriktirilmiş linkler oluşturulup verilir
*/
$class->html->assets->getUsedCss();
$class->html->assets->getUsedJs();

/** Metatag listesine ekleme yapar
* @param string Type -> meta,link
* @param array Meta attributes -> [ "fname"=>"mansur", "lname"=>"atik"  ]
* @return boolean Eklendi
*/
$class->html->assets->MetaAdd("link",["href" => "/link"]);

/** Array listeini html meta tag a çevirir
* @param array [][ "meta" => [content => "asd"] ];
* @return string < meta content="asd" / >
*/
$class->html->assets->MetaTags("link",["href" => "/link"]);