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

Форум PHP

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

 

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

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

тема: Смарти. Значение из базы вывести в шаблон
 
 автор: Лена   (16.05.2008 в 12:59)   письмо автору
 
 

Есть скрипт, который вытягивает массив значений из базы:
<?php
require_once ("../../../dbopen.php"); //соединение с базой
require ('../../../smarty/Smarty.class.php');

$result mysql_query("SELECT * FROM `news`");
if(!
$result) exit(mysql_error()); 
        while (
$rows mysql_fetch_array($result)) {
        
$smarty = new Smarty;
        
$smarty->debugging true;
        
//отправить массив из базы в шаблон
        
$smarty->assign('list'$rows); 
        
$smarty->display("../../../templates/news.tpl");
        }
?>

И есть код шаблона:
{foreach item=row from=$rows}
<tr><td>{$row.page_title}</td></tr>
<tr><td>{$row.date}</td></tr>
<tr><td>{$row.announce}</td></tr>
<a href="index.php?id={$row.main_file}">Читать далее (Весь текст)</a>
{/foreach}


Выводит ошибку:
Fatal error: Smarty error: the $compile_dir 'templates_c' does not exist, or is not a directory. in s:\home\myproject.ua\www\smarty\Smarty.class.php on line 1144
Директория templates_c на самом деле существует и с другими примерами было все нормально, скомпилированные шаблоны кидались в эту директорию, а этот почему-то не хочет

   
 
 автор: Axxil   (16.05.2008 в 15:08)   письмо автору
 
   для: Лена   (16.05.2008 в 12:59)
 

космос какой-то:
$smarty->display("../../../templates/news.tpl"); 

обычно в шаблонах смарти наверх не ходят.

Лучше относительными путями не пользоваться. Иначе, при переносе скрипта из папки в папку всё полетит. Как в вашем случае.

Этот скрипт и папка с смарти относительно корня сайта как располагаются?

   
 
 автор: Лена   (16.05.2008 в 15:38)   письмо автору
 
   для: Axxil   (16.05.2008 в 15:08)
 

Смарти лежит в корне - www, а скрипт находится в C:\WebServers\home\myproject.ua\www\admin\moduls\news, поэтому и нужно от него подниматься вверх, как сделать?

   
 
 автор: Axxil   (16.05.2008 в 16:02)   письмо автору
 
   для: Лена   (16.05.2008 в 15:38)
 

Не надо подниматься. Путь к шаблону указывается отностительно папки templates. Т.е. как она определена в переменной $smarty->template_dir. По умолчанию это smarty/templates/
Если шаблоны у вас там лежат, то и путь нужно писать самый простой

<?
  $smarty
->display('news.tpl');
?>

   
Rambler's Top100
вверх

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