medium 0 Опубликовано 4 апреля, 2007 Жалоба Share Опубликовано 4 апреля, 2007 Добрый вечер! Вопрос по шаблонам. Есть задача - сделать дизайн главной страницы визуально отличным от дизайнов второстепенных страниц - категорий товаров, информационных страниц и т.д. Даже шапка на главной должна отличаться от остальных. Как это сделать? Правлю index.html - но он используется везде, а в нем как раз и задаются шапка и подвал сайта. Подскажите плиз. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 4 апреля, 2007 Жалоба Share Опубликовано 4 апреля, 2007 Попробуй сделать следующим образом. Открой /index.php и замени в нём: $smarty->display(CURRENT_TEMPLATE.'/index.html');[/code] На: [code]if (strstr($PHP_SELF, FILENAME_DEFAULT)) {$smarty->display(CURRENT_TEMPLATE.'/index_default.html');} else {$smarty->display(CURRENT_TEMPLATE.'/index.html'); Затем скопируй /templates/шаблон/index.html в /templates/шаблон/index_default.html По идее, главная страница будет отображаться с использованием шаблона index_default.html Остальные страницы будут оборачиваться в index.html Ссылка на сообщение Поделиться на другие сайты
medium 0 Опубликовано 4 апреля, 2007 Автор Жалоба Share Опубликовано 4 апреля, 2007 Спасибо, идею понял. На локалке не получилось так как: $PHP_SELF=/shop/index.php/ FILENAME_DEFAULT = index.php На сервере может и выйдет. Ссылка на сообщение Поделиться на другие сайты
medium 0 Опубликовано 4 апреля, 2007 Автор Жалоба Share Опубликовано 4 апреля, 2007 Ага, на то что начинается на index.php не реагирует. Например раздел каталога "index.php?cat=c4" А инф.страницы и т.д. - подменяет. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 4 апреля, 2007 Жалоба Share Опубликовано 4 апреля, 2007 А если так!? if ((basename($PHP_SELF) == 'index.php') && (!xtc_get_all_get_params())) {$smarty->display(CURRENT_TEMPLATE.'/index_default.html');} else {$smarty->display(CURRENT_TEMPLATE.'/index.html');}[/code]Если не поможет, тогда не знаю, как правильно условие поставить. Ссылка на сообщение Поделиться на другие сайты
medium 0 Опубликовано 4 апреля, 2007 Автор Жалоба Share Опубликовано 4 апреля, 2007 я сделал тупо: if ($REQUEST_URI=='/shop/index.php') На локалке работает. А на серваке потом проверю, отпишу. Ссылка на сообщение Поделиться на другие сайты
geval 3 Опубликовано 18 мая, 2007 Жалоба Share Опубликовано 18 мая, 2007 ну и как- получилось? Ссылка на сообщение Поделиться на другие сайты
medium 0 Опубликовано 18 мая, 2007 Автор Жалоба Share Опубликовано 18 мая, 2007 Да. Только путь нужно другой поставить, под сервер. У меня это '/' Ссылка на сообщение Поделиться на другие сайты
ABerezin 0 Опубликовано 18 мая, 2007 Жалоба Share Опубликовано 18 мая, 2007 А если вызов такой /shop/ будет? Без указания index.php. Ссылка на сообщение Поделиться на другие сайты
medium 0 Опубликовано 18 мая, 2007 Автор Жалоба Share Опубликовано 18 мая, 2007 У меня магазин в корне if ($REQUEST_URI=='/index.php' || $REQUEST_URI=='/') {$smarty->display(CURRENT_TEMPLATE.'/index_titul.html');} else $smarty->display(CURRENT_TEMPLATE.'/index.html');[/code] Что проверять вы можете посмотреть по строке в index.php : [code]echo 'uri='.$REQUEST_URI.','; Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения