2015-01-08 2 views
0

Прошу прощения за этот глупый вопрос, но я не понимаю!Усы - Как построить навигацию/ссылку

Я хочу, чтобы создать простой веб-сайт переднего конца, как в этом примере с усами: http://detector.dmolsen.com/demo/mustache/

Если у меня есть сайт только с одной страницы - все в порядке: Я создаю мою Усу объект ... и так далее

// use .html instead of .mustache for default template extension 
 
$options = array('extension' => '.html'); 
 

 
// Template and Partial - Filesystem Loader 
 
$mustache = new Mustache_Engine(array(
 
    'loader' => new Mustache_Loader_FilesystemLoader(__DIR__.'/views', $options), 
 
    'partials_loader' => new Mustache_Loader_FilesystemLoader(__DIR__.'/views/partials/'.$GLOBALS['comparedDeviceInformation']['Device Class'], $options), 
 
));

после этого я сделать свой шаблон индекса:

// render index.html template 
 
echo $mustache->render('index', $data);

Это отлично работает! И теперь в этом файле шаблона index.html я не хочу ссылаться на другой шаблон, например. home.html

<a href="?????">home</a>
как мне сделать такую ​​динамическую визуализацию? Это не может быть решение иметь php-файл для каждого шаблона страницы?

И как мне обрабатывать URL-адреса? Я не могу использовать имя шаблонов? так как мне получить согласованную URL-структуру для моего сайта

Большое спасибо!

ответ

0

Уса сам - это всего лишь шаблонный движок ... он не касается того, какие у вас URL-адреса, или сколько у вас файлов PHP или что-то иное, кроме изменения шаблона в HTML. Для всех других вещей у вас есть несколько вариантов. Наиболее простым является наличие одного файла PHP для каждого URL-адреса, который вы хотите обработать. Как вы сказали, это не идеально :)

Я бы предложил проверить легкую структуру PHP. Они обрабатывают маршрутизацию (отображение URL-адресов на отображаемые страницы) и обеспечивают гораздо больше структуры для вашего бэкэнд. Here is a list of some of the ones Mustache.php plays nice with. Для ваших целей Silex или Slim, вероятно, будут хорошо подходят.

+0

Спасибо большое :) – Christoph

+0

Не проблема :) – bobthecow