Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Собрать сайт в Smarty 
:(
    Опции темы
orDizzz
Дата 15.2.2010, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 19.2.2009

Репутация: нет
Всего: нет



Добрый день.

Сразу к сути. Есть несколько страниц: 
index.php(главная), 
index.tpl(шаблон страницы),
registration.tpl и .php(форма регистрации и скрипт который выполянет добавление в базу данных), 
news.tpl (страница со статьями c выборкой из базы), 
menu.tpl(форма логина и кнопка регистрации),
header.tpl и footer.tpl.
Надо как то объединить эти страницы чтобы был один шаблон главной страницы и менялась только начинка(информационная часть). При нажатии на кнопку регистрации в меню то в середине страницы появлялась форма регистрации, при нажатии на статьи/новости появлялся бы news-блок. Новости лежат в базе Mysql и формируются в news.tpl.

Сам нуб в пхп, просто поставили задачу сделать такую вещь и трудись как хочешь.

вот что написано в index.tpl
Код

<!DOCUMENT HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>{$title}</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<META HTTP-EQUIV="Pragma" content="no-cache">
<meta http-equiv="Expires" content="Mon, 28 Mar 1999 00:00:01 GMT">
<meta name="Document-state" content="Dynamic">
<meta name=Robots content="all">

<link href="a.css" rel="stylesheet" type="text/css">

</head>
<body>
{include file="header.tpl" title="Header Page"}
<table><tr><td align="left" width="200">
/*Тут должно быть или регистрация или news-блок, в зависимости от выбранного действия*/
<td>
{include file="main.tpl" title="Main"}
</td>
</tr>
</table>
<center>
<div id="footer">
{include file="footer.tpl" title="Footer Page"}</div></center>
</body>
</html>


index.php
Код

<?php
define('SMARTY_DIR','smarty_lib/libs/');
define('','');
require(SMARTY_DIR.'smarty.class.php');
require('functions.php');

$smarty = new Smarty();

$smarty->template_dir='tpl/templates/';
$smarty->compile_dir='tpl/templates_c/';
$smarty->config_dit='tpl/configs/';
$smarty->cache_dir='tpl/cache/';

$arr_meta_tags['title'] = "News-блок <organization_name>";
$arr_meta_tags['content'] = "";
/* далее логика путается что должно быть здесь
if (empty($_REQUEST['page']) || $_REQUEST['page'] == "#")
{$arr_meta_tags['content'] = 'include main.tpl';}
    elseif
    ($_REQUEST['page'] = "registration")
    {   /*$arr_meta_tags['content'] = 'include registration.tpl';*/
        $arr_meta_tags['content']="Регайся";
    }
*/
$smarty->assign('title',$arr_meta_tags['title']);
$smarty->assign('content',$arr_meta_tags['content']);
$news_tpl=$smarty->fetch("news.tpl");
$smarty->assign('blok_news',$news_tpl);

$smarty->display("index.tpl");
?>


PM MAIL   Вверх
awers
Дата 15.2.2010, 18:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: 21
Всего: 31



В зависимости от типа страницы подгружай разные content шаблоны, которые будут формировать страницу. 
Полностью сваливать в один шаблон ненадо.

Это сообщение отредактировал(а) awers - 15.2.2010, 19:30
PM MAIL WWW ICQ Skype   Вверх
orDizzz
Дата 15.2.2010, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 19.2.2009

Репутация: нет
Всего: нет



а как это сделать?

тока не отправляйте ковырять факи по смарти плиз=( а то я неделю буду в них забераться=(
текущая задача ведь не требует полнейшего знания функций смарти.

предположим что тип действия я определю...эээ вроде дошло, завтра попробую и отпишусь=)

но если у кого то есть возможность показать как это делается, глубочайше прошу поделиться опытом=)
PM MAIL   Вверх
capitan
Дата 17.2.2010, 19:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 602
Регистрация: 27.2.2005
Где: Москва

Репутация: 9
Всего: 13



шаблон index.tpl должен иметь вид:

Код

{include file='header.tpl'} 
{if $INC_PAGE}
    {include file=$INC_PAGE}
{/if}
{include file='footer.tpl'} 


а в php файлах указывать какой шаблон подцеплять.
Код

$smarty->assign('INC_PAGE','main.tpl');   

PM MAIL WWW ICQ   Вверх
orDizzz
Дата 18.2.2010, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 19.2.2009

Репутация: нет
Всего: нет



ну я почти так и сделал=)
тока не через переменную а явно приписал какой шаблон в каких случаях подгружать=)
спасибо, возможно сделаю как вы описали=)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1110 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.