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

Форум PHP

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

 

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

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

тема: Нелегкий путь к Смарти
 
 автор: Лена   (19.05.2008 в 11:29)   письмо автору
 
 

Делаю вот так:
<?php
require_once ("dbopen.php"); //соединение с базой

$mod 1;
$sql="SELECT `name` FROM `modules` WHERE id_mod=$mod";
$result=mysql_query ($sql$link);
$res=mysql_result($result,0);

require (
'smarty/Smarty.class.php');
$smarty_news = new Smarty
$smarty_news->template_dir "./templates/".$res;

$smarty_news->assign('asd'"Ваня");
$smarty_news->display("news1.tpl");
?>


Проблема вот в чем: если скрипт помещаю в корень, где расположен класс Смарти, все отлично работает, но если я помещаю в поддиректорию корневой директории, выводит ошибку:
Fatal error: main() [function.require]: Failed opening required 'smarty/Smarty.class.php' (include_path='.;/usr/local/php5/PEAR') in s:\home\myproject.ua\www\admin\smarty_index.php on line 10
Как сделать так, чтобы Смарти просматривался из всех подпапок корневой директории?

   
 
 автор: Le bien   (19.05.2008 в 11:31)   письмо автору
 
   для: Лена   (19.05.2008 в 11:29)
 


require ('/путь/к/папке/от/корня/сервера/smarty/Smarty.class.php');

или

require ($_SERVER['DOCUMENT_ROOT'] . '/путь/к/папке/от/корня/аккаунта/smarty/Smarty.class.php');

не пробовали?

   
 
 автор: Лена   (19.05.2008 в 11:52)   письмо автору
 
   для: Le bien   (19.05.2008 в 11:31)
 

Первый вариант не подходит, Смарти лежит в корне сервера.
Второй выдает ошибку:
Warning: Smarty error: unable to read resource: "news1.tpl" in s:\home\myproject.ua\www\smarty\Smarty.class.php on line 1144
Шаблон news1.tpl существует и нормально работает

   
 
 автор: Le bien   (19.05.2008 в 12:03)   письмо автору
 
   для: Лена   (19.05.2008 в 11:52)
 

$smarty_news->display("news1.tpl");

наверное, опять-таки нужно прописывать полный путь?

   
 
 автор: Лена   (19.05.2008 в 12:10)   письмо автору
 
   для: Le bien   (19.05.2008 в 12:03)
 

Путь к этому шаблону уже прописан строчкой выше: $smarty_news->template_dir = "./templates/".$res;

   
 
 автор: Le bien   (19.05.2008 в 12:21)   письмо автору
 
   для: Лена   (19.05.2008 в 12:10)
 

$smarty_news->template_dir = "./templates/".$res;

пардон не проснулся еще =)
Вам здесь как раз и нужно прописать его от документ рут

   
 
 автор: sim5   (19.05.2008 в 12:28)   письмо автору
 
   для: Le bien   (19.05.2008 в 12:21)
 

В какой еще документ рУт? Это шаблоны Смарти, они отношения не имеют к php настройкам путей.

   
 
 автор: Le bien   (19.05.2008 в 13:11)   письмо автору
 
   для: sim5   (19.05.2008 в 12:28)
 

В какой еще документ рУт? Это шаблоны Смарти, они отношения не имеют к php настройкам путей.

пути имеют отношения к любому подключаемому модулю/классу

   
 
 автор: sim5   (19.05.2008 в 13:25)   письмо автору
 
   для: Le bien   (19.05.2008 в 13:11)
 

Вот именно! Неверно был подключен класс, а вы указываете на шаблон этого класса.

   
 
 автор: Axxil   (19.05.2008 в 13:00)   письмо автору
 
   для: Лена   (19.05.2008 в 12:10)
 

Вот так сделайте:

<?
  
require ($_SERVER['DOCUMENT_ROOT'].'/smarty/Smarty.class.php');
  
$smarty_news->template_dir $_SERVER['DOCUMENT_ROOT']."/smarty/templates/".$res;
?>

   
 
 автор: Лена   (19.05.2008 в 16:28)   письмо автору
 
   для: Axxil   (19.05.2008 в 13:00)
 

Сделала вот так:

require ('../smarty/Smarty.class.php');
$smarty_news = new Smarty; 
$smarty_news->template_dir = "../templates/".$res;
$smarty_news->compile_dir = "../templates_c/".$res;


И все получилось. Кроме директории для шаблонов нужно указывать и директорию для скомпилированных шаблонов. Без этого - не работает.
Всем спасибо.

   
Rambler's Top100
вверх

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