Форум → Программирование → PHP для идиотов → не отображается шаблон на сервере
не отображается шаблон на сервере
Страницы: ← Предыдущая страница →
-
-
5 октября 2008 г. 6:22, спустя 2 минуты 43 секунды
оба скрипта заработали, из меня программер пока еще не очень)
продолжим ) -
5 октября 2008 г. 10:32, спустя 4 часа 9 минут 15 секунд
ini_set('display_errors', 1);
надо на мастерхосте делать
и в смарти не надо никаких $_SERVER['DOCUMENT_ROOT']все умрут, а я изумруд -
6 октября 2008 г. 9:26, спустя 22 часа 54 минуты 35 секунд
md5 а как без $_SERVER['DOCUMENT_ROOT'] обойтись???
$_SERVER['DOCUMENT_ROOT'] это переменная которой присвоено значение пути, мне показалось что это самый простой вариант, единственное что приходится делать, это перепрописывать пути при переносе с домашней на сервер.
Я почитал про "магическую" константу __FILE__ но не смог пока разобраться. -
6 октября 2008 г. 22:28, спустя 13 часов 1 минуту 35 секунд
в стоковой комплектации Smarty сразу все нормально указанно
мы кладем папку Smarty, а в нашем скрипте делаем:
include_once('Smarty/Smarty.class.php');
$smarty = new Smarty;
$smarty -> compile_check = true;
$smarty -> debugging = true;
// ВОТ ОНА ДИРА, ГДЕ ДОЛЖНЫ ЛЕЖАТЬ ШАБЛОНЫ
// И ОНА ПО-УМОЛЧАНИЮ ТАКАЯ СТОИТ
$smarty->template_dir = 'templates';
// ЭТА ДИРА, КУДА ВАЛЯТСЯ СКОМПИЛЕННЫЕ ШАБЛОНЫ
// ВО ВСЕХ ДОКУМЕНТАЦИЯ И БЫСТРЫХ СТАРТАХ НАПИСАНО, ЧТО НАДО ПРАВА НА ЗАПИСЬ ВЫСТАВИТЬ (777), НАДО ЧИТАТЬ ВНИМАТЕЛЬНЕЕ
$smarty->compile_dir = 'templates_c';
// И ВСЕ
$smarty->display('index.tpl');
таким образом у тебя такая структура дир и файлов:
Smarty (dir)
templates (dir)
templates_c (dir, 777)
index.php (скрипт, в котором мы подключаем шаблоны)
вот где у меня хоть один $_SERVER['DOCUMENT_ROOT']?все умрут, а я изумруд -
7 октября 2008 г. 11:51, спустя 13 часов 22 минуты 48 секунд
Вы правы, читал не внимательно…
Нашел где сказано, что права на запись надо указывать chmod 777
А вот в вашем примере разве не надо указывать константу SMARTY_DIR ???
константа SMARTY_DIRdefine ('SMARTY_DIR', '/Smarty/libs/');
require_once(SMARTY_DIR . 'Smarty.class.php');
$smarty = new Smarty();
И соответственно:include_once(SMARTY_DIR . 'Smarty.class.php');
$smarty = new Smarty;
$smarty -> compile_check = true;
$smarty -> debugging = true;
$smarty->template_dir = 'templates';
$smarty->compile_dir = 'templates_c';
$smarty->config_dir = 'configs';
$smarty->cache_dir = 'cache';
$smarty->template_dir = 'templates';
$smarty->display('index.tpl');
Только не подумайте что я спорю, просто хочу уточнить. -
7 октября 2008 г. 21:53, спустя 10 часов 1 минуту 50 секунд
А вот в вашем примере разве не надо указывать константу SMARTY_DIR ???
константа SMARTY_DIRdefine ('SMARTY_DIR', '/Smarty/libs/');
require_once(SMARTY_DIR . 'Smarty.class.php');
$smarty = new Smarty();
а зачем там слеш в начале?
ну тогда объясни мне, чем отличается:define ('SMARTY_DIR', 'Smarty/libs/');
require_once(SMARTY_DIR . 'Smarty.class.php');
от
require_once('Smarty/libs/Smarty.class.php');
?все умрут, а я изумруд -
8 октября 2008 г. 2:06, спустя 4 часа 13 минут 13 секунд
ну тогда объясни мне, чем отличается:
define ('SMARTY_DIR', 'Smarty/libs/');
require_once(SMARTY_DIR . 'Smarty.class.php');
отrequire_once('Smarty/libs/Smarty.class.php');
?
Тем, что в первом случае выделяется обьем памяти для хранения константы, причем на все время выполнения скрипта.
Вот только зачем, не понятно :)
Страницы: ← Предыдущая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!