Движок сайта+дизайн

Vano_php

Новичок
Движок сайта+дизайн

В процессе написания сайта, столкнулся с проблемой интегрирования движка в дизайн. Собственно путь решения этой проблемы я уже выбрал: одна страница с графикой, в которую будут помещены все возможные функции. В зависимости от выбранного действия будет меняться содержимое страницы, а графика (дизайн) оставаться одной и той же. Делать начал все это при помощи классов.
Наконец то вопрос: не могу придумать метод обновления содержимого страницы. Т.е. нажатие на ссылку – поменялась одна часть блока, другая ссылка – другая (или та же, но на другую информацию) часть блока и т.д. Блоки находятся в отдельном файле (сразу html отверстанные), остается только выбрать нужный файл и вставить его содержимое в нужное место страницы.
 

tf

крылья рулят
Т.е. нажатие на ссылку – поменялась одна часть блока, другая ссылка – другая (или та же, но на другую информацию) часть блока и т.д.
ты об фреймах говориш, или об AJAX? или о html страницах имеющих одинаковый дизайн
 

Фанат

oncle terrible
Команда форума
Vano_php
по-моему, тебе нужно вот это: http://phpfaq.ru/easy/
 

Rammstein

PHPClub::News
MadGreen
Не пугай людей этим чудовищем :)

Vano_php
Ищи "шаблонизация+php"
 

bools

Новичок
Шаблонизаторы не юзаю - НЕ ВИЖУ СМЫСЛА. 4 способ идеально покрывает 99,9% всех моих нужд.

Почему плох 3 способ - описано у Котерова в статье. Инклюдить дизайн в скрипт - не хорошо. Дизайн получается, завязан на программе, и что бы добавить результат работы любого другого скрипта в щаблон, нужно звать программиста.

Когда в дизайн инклюдиться программа - это огромные преимущества. Дизайнер может оперировать различными модулями программы так, как это ему захочется.

Цитирую автора:
Третий плюс, пожалуй, самый впечатляющий: теперь любой шаблон может быть построен на компонентной основе. Поясню, что это означает. Предположим, ваш шаблон страницы новостей модернизируется, и теперь вам нужно добавить в его конец вывод, например, погоды на завтра. Погода — это некоторый текст (строка), которая формируется в отдельном генераторе данных (к примеру, /_kernel/weather.php). Чтобы было интереснее, предположим также, что этот генератор данных был написан давным-давно каким-нибудь сторонним программистом, который и слыхом не слыхивал ни о вашем шаблоне, ни тем более о блоке новостей на странице.

Посмотрите, как просто и изящно решается поставленная задача с использованием «четвертого способа»:
PHP:
<HTML><BODY>

<!-- Блок новостей -->
<?include "$DOCUMENT_ROOT/_kernel/news.php"?>
<h2>Последние новости:</h2>
<?for($i=0; $i<5; $i++) {?>
    <li><?=$i?>-я новость:
        <?=$News[$i]?>
<?}?>
<hr>

<!-- Блок погоды -->
<?include "$DOCUMENT_ROOT/_kernel/weather.php"?>
По сообщениям синоптиков, дождь, объявленный 
на сегодня, переносится на завтра на те же часы. 
Также завтра ожидается: <?=$Weather?>

</BODY></HTML>
 

zarus

Хитрожопый макак
А я против PHP-кода в шаблоне страницы и против HTML в коде PHP-скрипта. К сожалению, не всегда получается их разделять.
 

bools

Новичок
А я против PHP-кода в шаблоне
я тоже.

Но не инадо путать "код PHP в шаблоне" с шаблонизацией на языковых конструкциях PHP.

Приведённый во втором посте шаблонизатор Smarty - это самый настоящий ПРИКОЛ, созданный для PHP-сообщества в целом.
Но что самое прикольное, так это то, что Smarty генерирует практически похожий код шаблонизации на PHP, как описано у классиков темы.
 

tf

крылья рулят
Шаблонизаторы не юзаю - НЕ ВИЖУ СМЫСЛА. 4 способ идеально покрывает 99,9% всех моих нужд.
bools ну незнаю, мне смесь 3 - 4 - 5 нравится
PHP:
// обработчик проверит все права, язык  и потом
<?
include "news.php";
include "{$lang}_news.html";?>


// news.html
<# include "header"#>
<h2>Последние новости:</h2>
<?for($i=0; $i<5; $i++) {?>
    <li><?=$i?>-я новость:
        <?=$News[$i]?>
<?}?>
<hr>

<!-- Блок погоды -->
<# include "weather"#>
По сообщениям синоптиков, дождь, объявленный 
на сегодня, переносится на завтра на те же часы. 
Также завтра ожидается: <?=$Weather?>

<# include "footer"#>
 

tf

крылья рулят
bools, мини, остальный функий нет и не будет ;)
вызывается обработчки, проверяет права и запускает нужные файлы
 

betik

Новичок
А мне вот смарти очень нравится.
Особенно клепать заплаты прихотливым клиентам - кнопочку туда-сюда, меню не через пробел а через палочку... яка прелесть =)
 
Сверху