Smarty Master Pages - PullRequest
       5

Smarty Master Pages

1 голос
/ 06 октября 2010

Как я могу создавать мастер-страницы, как в ASP.NET, используя PHP и Smarty?

Я хочу иметь несколько заполнителей контента на главной странице и просто заполнить их почти большими кусками HTML.Поэтому я ищу лучший подход, чем тот, который у меня сейчас есть.

$content =<<< eol
    <div id="home">
        <img src="images/jon.jpg" id="left-image" />
    </div>
eol;

$smarty->assign('content', $content);
$smarty->display('index.tpl');

Ответы [ 2 ]

2 голосов
/ 04 сентября 2012

Вы хотите использовать наследование шаблона:

http://www.smarty.net/inheritance

layout.tpl

<html>
    <head>
        <title>{block name=title}Default Page Title{/block}</title>
    </head>
    <body>
        {block name=body}{/block}
    </body>
</html>

mypage.tpl

{extends file="layout.tpl"}
{block name=title}My Page Title{/block}
{block name=body}My HTML Page Body goes here{/block}

вывод mypage.tpl

<html>
    <head>
        <title>My Page Title</title>
    </head>
    <body>
        My HTML Page Body goes here
    </body>
</html>
2 голосов
/ 06 октября 2010

Как насчет создания нескольких шаблонов и использования smarty include?

{include file="somethingelse.tpl"}
...