Есть темплата - все гуд, нет темплаты - ошибка.

Тема в разделе "Mod Rewrite / htaccess / ЧПУ", создана пользователем mehoney, 10 апр 2009.

Статус темы:
Закрыта.
  1. mehoney

    mehoney Создатель

    Регистр.:
    5 дек 2008
    Сообщения:
    20
    Симпатии:
    6
    Привет, нужна помощь в следующем


    Есть набор шаблонов страниц:

    /temlates/koko.tpl
    koko2.tpl
    koko3.tpl

    набираю адрес

    Перейти по ссылке
    Перейти по ссылке
    Перейти по ссылке

    все показывается, все отлично

    Но если я набиру
    Перейти по ссылке

    и соотвествующего шаблона не будет, то вылезет ошибка:

    Warning: Smarty error: unable to read resource: "koko444.tpl" in /home/users/sitename/htdocs/libraries/smarty/Smarty.class.php on line 1095

    Вопрос: как мне убрать эту ошибку и допустим, чтобы в отсутсвии шаблона - показывалась 404 страница?

    Спасибо
     
  2. OnArs

    OnArs

    Регистр.:
    30 авг 2008
    Сообщения:
    259
    Симпатии:
    74
    Ошибку можно секрыть, добавив в исполняемый файл строчку:
    error_reporting(0);

    А если нам нужно показывать 404 страницу при отсутствии нужного шаблона:
    В коде ищем где идёт запрос шаблона и при его отсутсвии делать пермаментный редирект на несуществующую страницу (Получим Erorr404) или на заранее подготовленную страницу.
     
  3. mehoney

    mehoney Создатель

    Регистр.:
    5 дек 2008
    Сообщения:
    20
    Симпатии:
    6
    Не нашел в конфигах смарти ни слова про 404 :(
     
  4. alica

    alica

    Регистр.:
    28 июл 2008
    Сообщения:
    243
    Симпатии:
    76
    Просто при выдаче шаблонов нужно в скрипте дописать проверку на их наличие, в случае их отсутствия перенаправление на 404 страницу...

    Что-то вроде:
    Код:
    
    if(!$smarty->display('index.tpl'))
    {
    	// Перенаправляем на 404 страницу
    
    }
    
    $smarty->display('index.tpl');
    
    
     
Статус темы:
Закрыта.