Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Использование собственных шаблонов
 
 автор: JESS   (09.11.2009 в 02:44)   письмо автору
 
 

Привет всем!

Хочю понять как строяться CМS, подкинте информацю, буду очень рад.
Вот пытался что сделать шаблон см ниже. Немножечко не понимаю как можно
$RIGHTCOL вписать именно так, что бы функция которая в tamplate.php выводила информацию без <?=(RightCol());?> a <?=$RIGHTCOL;?> .
index.php

<?php
include("template.php");
?>
<link rel="stylesheet" type="text/css" href="stylesheet.css">
<div id="window">
<div id="header"><h1><?=$SITENAME;?></h1></div>
<div id="content">
    <div id="leftcol"><?=$MENU;?></div>
    <div id="rightcol"><?=(RightCol());?></div>
</div>
<div id="footer">
    <?=$FOOTER;?>
</div>
</div>

tamplate.php

<?php
$SITENAME 
"My Home Page";
$MENU ="<a href=\"?id=1\">Link</a>";

function 
RightCol() {
  if(isset(
$_GET['id'])) { echo "japp"; } else { echo "nepp2"; }
}
?>

  Ответить  
 
 автор: Лена   (09.11.2009 в 11:29)   письмо автору
 
   для: JESS   (09.11.2009 в 02:44)
 

Шаблоны нужны для того, чтобы отделить логику от представления. А у вас все в куче - в файле tamplate.php и логика(получение гет-параметров) и представление(вывод с помощью echo).
Если я Вас правильно поняла, вам нужно разбить: логику оставить в обработчике, все представление - вывод направить в шаблон.

<?php 
function RightCol() {
$list ''
  if(isset(
$_GET['id'])) 
$list .=  "japp"
else 
$list .=  "nepp2";  
return 
$list;

//результат вызова функции присваиваем переменной
$RIGHTCOL RightCol() ;
?> 


А уже в шаблоне выводите.

  Ответить  
 
 автор: JESS   (09.11.2009 в 21:11)   письмо автору
 
   для: Лена   (09.11.2009 в 11:29)
 

Спасибо большое что ответили!

Значит я так понимаю, что логику можно помостить в пр. script.php где все движется, а дизайн к примеру tamplate.php?

  Ответить  
 
 автор: Лена   (09.11.2009 в 21:42)   письмо автору
 
   для: JESS   (09.11.2009 в 21:11)
 

>Значит я так понимаю, что логику можно помостить в пр. script.php где все движется, а дизайн к примеру tamplate.php?
Логику - да, а файлы дизайна можно помещать в файлы с расширением .htm .html .tpl и т.д. и потом подключать уже к основному файлу - у вас это tamplate.php(вообще-то это слово пишется template), вот в нем и пишете:
include("1.html");
include("2.html"); - у вас тогда все, что нужно, будет все в одном файле.
Я вообще-то не знаю, какая у вас структура, но если простой вариант - то такой, как я выше сказала.
Наверное, вам стоит почитать про MVC - Model-View-Controller(могу в написании ошибиться, точно не помню), модель-вид-контроллер, это способ организации системы, модель - динамика, вид - ваш дизайн, контроллер - тот, кто выполняет роль "руководителя"(получает от пользователя запросы и обрабатывает их, решая, какой обработчик подключить в данный момент и надо ли его вообще подключать в зависимости от задания клиента).

  Ответить  
 
 автор: JESS   (26.03.2010 в 00:37)   письмо автору
 
   для: Лена   (09.11.2009 в 21:42)
 

Спасибо!

Но вот как в такую функциию фставить MySQL запрос к примеру:


    $meny = mysql_query("SELECT * FROM $table_1 ORDER BY name");
    while($data = mysql_fetch_row($meny))
    {
        echo $data[2];
        $food = mysql_query("SELECT * FROM $table_3 WHERE  parent = '{$data[0]}' ORDER BY prise");
        while($data2 = mysql_fetch_row($food))
        {

            echo $data2[2]."-".$data2[4];
        }
    }

  Ответить  
 
 автор: oliss   (26.03.2010 в 00:46)   письмо автору
 
   для: JESS   (26.03.2010 в 00:37)
 

Если вы делаете движок НЕ ДЛЯ ПРОДАЖИ или ДЛЯ ПАБЛИКА (только для себя) забудьте о шаблонах ,как о страшном сне
Вам не жалко ресурсов ( и трафика тоже ) ?
Вы же сами можете подстроить вывод переменных в шаблон
Кстати, <?= не используйте, правильней <?php echo ....

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования