|
|
|
| Делаю вот так:
<?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
Как сделать так, чтобы Смарти просматривался из всех подпапок корневой директории? | |
|
|
|
|
|
|
|
для: Лена
(19.05.2008 в 11:29)
| |
require ('/путь/к/папке/от/корня/сервера/smarty/Smarty.class.php');
|
или
require ($_SERVER['DOCUMENT_ROOT'] . '/путь/к/папке/от/корня/аккаунта/smarty/Smarty.class.php');
|
не пробовали? | |
|
|
|
|
|
|
|
для: 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 существует и нормально работает | |
|
|
|
|
|
|
|
для: Лена
(19.05.2008 в 11:52)
| | $smarty_news->display("news1.tpl");
наверное, опять-таки нужно прописывать полный путь? | |
|
|
|
|
|
|
|
для: Le bien
(19.05.2008 в 12:03)
| | Путь к этому шаблону уже прописан строчкой выше: $smarty_news->template_dir = "./templates/".$res; | |
|
|
|
|
|
|
|
для: Лена
(19.05.2008 в 12:10)
| | $smarty_news->template_dir = "./templates/".$res;
пардон не проснулся еще =)
Вам здесь как раз и нужно прописать его от документ рут | |
|
|
|
|
|
|
|
для: Le bien
(19.05.2008 в 12:21)
| | В какой еще документ рУт? Это шаблоны Смарти, они отношения не имеют к php настройкам путей. | |
|
|
|
|
|
|
|
для: sim5
(19.05.2008 в 12:28)
| | В какой еще документ рУт? Это шаблоны Смарти, они отношения не имеют к php настройкам путей.
пути имеют отношения к любому подключаемому модулю/классу | |
|
|
|
|
|
|
|
для: Le bien
(19.05.2008 в 13:11)
| | Вот именно! Неверно был подключен класс, а вы указываете на шаблон этого класса. | |
|
|
|
|
|
|
|
для: Лена
(19.05.2008 в 12:10)
| | Вот так сделайте:
<?
require ($_SERVER['DOCUMENT_ROOT'].'/smarty/Smarty.class.php');
$smarty_news->template_dir = $_SERVER['DOCUMENT_ROOT']."/smarty/templates/".$res;
?>
|
| |
|
|
|
|
|
|
|
для: 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;
|
И все получилось. Кроме директории для шаблонов нужно указывать и директорию для скомпилированных шаблонов. Без этого - не работает.
Всем спасибо. | |
|
|
|