Шаблонизатор не определяет переменную
1.
Евгений (20.05.2012 / 12:23)
Шаблонизатор не определяет переменную $user:
Notice: Undefined variable: user
В чём может быть проблема ?
Архив:
http://upwap.ru/2381143
2.
Евгений (20.05.2012 / 14:10)
Кто поможет ?
3.
Жень4ик (20.05.2012 / 14:15)
Есть топ-тема
http://visavi.net/forum/topic.php?tid=391&start=5270&
4.
JustZero (20.05.2012 / 14:20)
что за велик?
<?php
$p = opendir(HOME .'/system/classes/');
while ($f = readdir($p)) {
if (preg_match('/\.class.php$/i', $f)) require_once(HOME .'/system/classes/'. $f);
}
можно же autoload юзать.
<?php
function __autoload($name)
{
$fileName = $name . '.php';
$fileDir = HOME . '/incfiles/classes/' . $fileName;
if (is_file($fileDir) == false) {
return true;
}
include_once($fileDir);
}
Добавлено через 03:17 сек.
можно использовать define еще
Добавлено через 03:31 сек.
вместо $user
5.
Евгений (20.05.2012 / 14:25)
4.
Доктор Зло, можно примерчик ?
6.
ramzes (20.05.2012 / 14:50)
4.
Доктор Зло, по моему у тебя ошибка.
После return функция останавливается.
Инклуда не будет.
+ инклуд внутри функции не выйдет за ее пределы. Нужен require.
Я правда ни когда не пользовался подобными конструкциями, но вроде так.
7.
JustZero (20.05.2012 / 16:42)
ну те нужно для начала переписать user.class.php на ООП.
потом делать типа так:
<?php
$uid = User::get_user_id(); // получаем ИД юзера (если гость, присваиваем -1)
define('USER_ID', $uid);
////// в index.tpl
if (USER_ID != -1) {
echo 'admin';
}
как-то типа так.
P.S. это самый простой велик.
6, все работает на ура.
Добавлено через 05:38 сек.
переписать чеб не позориться т.к. с названия файла я думал что там ооп а открыв его увидел чет страшное
или же просто перенести класс
8.
Евгений (20.05.2012 / 18:34)
7.
Доктор Зло, эт в инете начитался, вот и написал....
ещё можно через global обьявить)
URL:
https://visavi.net/topics/32049