Zajmuję się szablonowaniem i natknąłem się na sytuację, w której muszę wyświetlać w przeglądarce szablon zawierający html & php. Jak mogę ocenić PHP i wysłać go do przeglądarki?PHP Eval, który ocenia HTML i PHP
Tak oto przykład (main.php):
<div id = "container">
<div id="head">
<?php if ($id > 10): ?>
<H3>Greater than 10!</H3>
<?php else: ?>
<H3>Less than 10!</H3>
<?php endif ?>
</div>
</div>
A potem w template.php:
<?php
$contents; // Contains main.php in string format
echo eval($contents); // Doesn't work... How do I do this line??
?>
EDIT: Mój szablon pozwala również wprowadzić dane z kontrolera Smarty w stylu. Czy bufor wyjściowy pozwoli mi to zrobić, a następnie ocenić mój php. Ideałem jest to, że robi pierwsze przejście przez kod i ocenia wszystkie znaczniki w pierwszej, a następnie uruchamia php. W ten sposób mogę tworzyć pętle i inne dane z danych wysyłanych z kontrolera.
So maybe a more complete example:
<div id = "container">
<div id = "title">{$title}</div> <!-- This adds data sent from a controller -->
<div id="head">
<?php if ($id > 10): ?>
<H3>Greater than 10!</H3>
<?php else: ?>
<H3>Less than 10!</H3>
<?php endif ?>
</div>
</div>
Dzięki!
mi wyjaśnić, co robi mój szablon, byłoby to jeszcze działa? – Matt
Tak, możesz użyć zmiennych, które już zadeklarowałeś w szablonie. Nie możesz jednak użyć {$ title}, tak jak zrobiłeś - pokaże to tekst dosłownie. Musisz powiedzieć szablonowi, że to PHP. Zaktualizowałem swoją odpowiedź, aby zademonstrować. –
Ta odpowiedź powinna zostać przyjęta! –