demaxim 0 Опубликовано 15 апреля, 2011 Жалоба Share Опубликовано 15 апреля, 2011 у меня для главной и внутренних два разных шаблона отображения выводятся по такому правилу {if $smarty.server.REQUEST_URI != "/index.php" && $smarty.server.REQUEST_URI != "/index.php?language=ua" && $smarty.server.REQUEST_URI != "/index.php?language=en" && $smarty.server.REQUEST_URI != "/index.php?language=ru" && $smarty.server.REQUEST_URI != "/"} {include file="шаблон/page.html"} {else} {include file="шаблон/index_start.html"} {/if} но вот беда, когда страница не найдена т.е. на 404-ой выводится не просто главная, как должно быть, а шаблон внутри шаблона, как это исправить? Ссылка на сообщение Поделиться на другие сайты
shaklov 63 Опубликовано 15 апреля, 2011 Жалоба Share Опубликовано 15 апреля, 2011 Вроде в корне магазина, в файле index.php в самом конце еще шаблон назначается. Ссылка на сообщение Поделиться на другие сайты
demaxim 0 Опубликовано 16 апреля, 2011 Автор Жалоба Share Опубликовано 16 апреля, 2011 насколько я понял вот эта строчка $template = (file_exists('templates/'.CURRENT_TEMPLATE.'/'.FILENAME_DEFAULT.'_'.$cID.'.html') ? CURRENT_TEMPLATE.'/'.FILENAME_DEFAULT.'_'.$cID.'.html' : CURRENT_TEMPLATE.'/index.html'); я попытался сделать так $template = (file_exists('templates/'.CURRENT_TEMPLATE.'/'.FILENAME_DEFAULT.'_'.$cID.'.html') ? CURRENT_TEMPLATE.'/'.FILENAME_DEFAULT.'_'.$cID.'.html' : CURRENT_TEMPLATE.'/[b]index_start[/b].html'); так на внутренних работает шаблон главной я так понимаю тут что-то координально нужно поменять!? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 16 апреля, 2011 Жалоба Share Опубликовано 16 апреля, 2011 Так используйте так же условие, только в /index.php внизу: if главная страница {$template = ...} else {$template = ...}[/code] Ссылка на сообщение Поделиться на другие сайты
demaxim 0 Опубликовано 16 апреля, 2011 Автор Жалоба Share Опубликовано 16 апреля, 2011 я сделал вот так if (strstr($PHP_SELF, FILENAME_DEFAULT)) {$template = (file_exists('templates/'.CURRENT_TEMPLATE.'/'.FILENAME_DEFAULT.'_'.$cID.'.html') ? CURRENT_TEMPLATE.'/'.FILENAME_DEFAULT.'_'.$cID.'.html' : CURRENT_TEMPLATE.'/index_start.html');} else {$template = (file_exists('templates/'.CURRENT_TEMPLATE.'/'.FILENAME_DEFAULT.'_'.$cID.'.html') ? CURRENT_TEMPLATE.'/'.FILENAME_DEFAULT.'_'.$cID.'.html' : CURRENT_TEMPLATE.'/page.html');}[/code]но не работает, для всех страниц index_start.html присваивается Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 16 апреля, 2011 Жалоба Share Опубликовано 16 апреля, 2011 Добавьте ещё в условие !isset($GET['cat']) А вообще были ведь темы на форуме с примером кода, как правильно делать. Искали через поиск?! Можно вообще попробовать ничего не трогать в коде, а просто делать шаблон index.php_.html или index.php_0.html Ссылка на сообщение Поделиться на другие сайты
demaxim 0 Опубликовано 16 апреля, 2011 Автор Жалоба Share Опубликовано 16 апреля, 2011 VaM напиши пожалуйста по подробнее как записать это условие, что по форуму шарюсь а ничего толкового не найду, и еще подскажи какой из способов назначения разных шаблонов эффективнее в плане производительности? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 16 апреля, 2011 Жалоба Share Опубликовано 16 апреля, 2011 Я Вам в прошлом сообщении написал ведь какие шаблоны надо создать, Вы пробовали так делать?! Это ж должно работать без какой-либо правки кода. Ссылка на сообщение Поделиться на другие сайты
demaxim 0 Опубликовано 16 апреля, 2011 Автор Жалоба Share Опубликовано 16 апреля, 2011 оооо, отлично работает, но только вот так index.php_.html - это шаблон для главной а это index.html - для внутренней Спасибо, большущее Vam я просто сначала не вкурил как оно может работать по дефолту ничего не меняя в коде отлично, вообще без лишнего кода, а как это работает интересно, и можно ли таким же образом отдельный шаблон к примеру для новостей сделать!? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 16 апреля, 2011 Жалоба Share Опубликовано 16 апреля, 2011 Можно. В руководстве пользователя написано - http://vamshop.ru/manual/ch14.html#id2665061 Для новостей получается, что шаблон будет news.php.html Ссылка на сообщение Поделиться на другие сайты
shaklov 63 Опубликовано 20 апреля, 2011 Жалоба Share Опубликовано 20 апреля, 2011 Использую для главной отдельный дизайн через шаблон index.php_.html Но он затрагивает вывод производителей, адрес вида index.php?manufacturers_id=1. Наверно нижнее подчеркивание срабатывает. Как побороть? Мне в товарах производителя обычный шаблон нужен. P.S. А у меня шаблон index.php_0.html вообще не хочет работать. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 21 апреля, 2011 Жалоба Share Опубликовано 21 апреля, 2011 Наверное только в /index.php внизу прописываеть условие нужное, что б только для главной страницы работал. Ссылка на сообщение Поделиться на другие сайты
ssacom 0 Опубликовано 29 мая, 2011 Жалоба Share Опубликовано 29 мая, 2011 Наверное только в /index.php внизу прописываеть условие нужное, что б только для главной страницы работал. А можно как то по подробнее? А то действительно в производителях вылазит! Ссылка на сообщение Поделиться на другие сайты
YuraS 4 Опубликовано 30 мая, 2011 Жалоба Share Опубликовано 30 мая, 2011 ' timestamp='1303339478' post='66413'] Использую для главной отдельный дизайн через шаблон index.php_.html Но он затрагивает вывод производителей, адрес вида index.php?manufacturers_id=1. Наверно нижнее подчеркивание срабатывает. Как побороть? Мне в товарах производителя обычный шаблон нужен. P.S. А у меня шаблон index.php_0.html вообще не хочет работать. я заменил в /index.php $template = (file_exists('templates/'.CURRENT_TEMPLATE.'/'.FILENAME_DEFAULT.'_'.$cID.'.html') ? CURRENT_TEMPLATE.'/'.FILENAME_DEFAULT.'_'.$cID.'.html' : CURRENT_TEMPLATE.'/index.html'); на $template = (file_exists('templates/'.CURRENT_TEMPLATE.'/'.FILENAME_DEFAULT.$cID.'.html') ? CURRENT_TEMPLATE.'/'.FILENAME_DEFAULT.$cID.'.html' : CURRENT_TEMPLATE.'/index.html'); 2 файла в папке с шаблоном - index.php.html (для Главной) и index.html (для остальных). вроде работает. дотошно не искал баги. Ссылка на сообщение Поделиться на другие сайты
ssacom 0 Опубликовано 30 мая, 2011 Жалоба Share Опубликовано 30 мая, 2011 хм не помогло!( в производителях всё равно подрубается index.php.html Ссылка на сообщение Поделиться на другие сайты
ssacom 0 Опубликовано 30 мая, 2011 Жалоба Share Опубликовано 30 мая, 2011 а как будет выглядит условие на проверку главной страницы? PS неужели нет готового рабочего решения чтобы шаблон главной страницы был ТОЛЬКО на главной? Или опять в Коммерческие предложения? )) Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 30 мая, 2011 Жалоба Share Опубликовано 30 мая, 2011 Зачем в коммерческие, есть поиск по форуму, как я помню, была ни одна и ни две темы. Ссылка на сообщение Поделиться на другие сайты
ssacom 0 Опубликовано 30 мая, 2011 Жалоба Share Опубликовано 30 мая, 2011 что то я пока ни чего не нашел )) искал усердно... тыкните носом Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 31 мая, 2011 Жалоба Share Опубликовано 31 мая, 2011 Выше был пример кода: if (strstr($PHP_SELF, FILENAME_DEFAULT)) { $template = (file_exists('templates/'.CURRENT_TEMPLATE.'/'.FILENAME_DEFAULT.'_'.$cID.'.html') ? CURRENT_TEMPLATE.'/'.FILENAME_DEFAULT.'_'.$cID.'.html' : CURRENT_TEMPLATE.'/index_start.html'); } else { $template = (file_exists('templates/'.CURRENT_TEMPLATE.'/'.FILENAME_DEFAULT.'_'.$cID.'.html') ? CURRENT_TEMPLATE.'/'.FILENAME_DEFAULT.'_'.$cID.'.html' : CURRENT_TEMPLATE.'/page.html'); } [/code] попробуйте его заменить например на: [code] if (strstr($PHP_SELF, FILENAME_DEFAULT) && !$_GET['cat'] && !$_GET['manufacturers_id']) { $template = (file_exists('templates/'.CURRENT_TEMPLATE.'/'.FILENAME_DEFAULT.'_'.$cID.'.html') ? CURRENT_TEMPLATE.'/'.FILENAME_DEFAULT.'_'.$cID.'.html' : CURRENT_TEMPLATE.'/index_start.html'); } else { $template = (file_exists('templates/'.CURRENT_TEMPLATE.'/'.FILENAME_DEFAULT.'_'.$cID.'.html') ? CURRENT_TEMPLATE.'/'.FILENAME_DEFAULT.'_'.$cID.'.html' : CURRENT_TEMPLATE.'/page.html'); } Ссылка на сообщение Поделиться на другие сайты
ssacom 0 Опубликовано 31 мая, 2011 Жалоба Share Опубликовано 31 мая, 2011 При таком условии везде на всех страницах подключается просто /page.html ?? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 31 мая, 2011 Жалоба Share Опубликовано 31 мая, 2011 А если так: if (!$_GET['cat'] && !$_GET['manufacturers_id']) { $template = (file_exists('templates/'.CURRENT_TEMPLATE.'/'.FILENAME_DEFAULT.'_'.$cID.'.html') ? CURRENT_TEMPLATE.'/'.FILENAME_DEFAULT.'_'.$cID.'.html' : CURRENT_TEMPLATE.'/index_start.html'); } else { $template = (file_exists('templates/'.CURRENT_TEMPLATE.'/'.FILENAME_DEFAULT.'_'.$cID.'.html') ? CURRENT_TEMPLATE.'/'.FILENAME_DEFAULT.'_'.$cID.'.html' : CURRENT_TEMPLATE.'/page.html'); } [/code] Ссылка на сообщение Поделиться на другие сайты
ssacom 0 Опубликовано 31 мая, 2011 Жалоба Share Опубликовано 31 мая, 2011 все равно лезет /index_start.html в производителей Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 31 мая, 2011 Жалоба Share Опубликовано 31 мая, 2011 На какой странице, как адрес страницы выглядит? Ссылка на сообщение Поделиться на другие сайты
ssacom 0 Опубликовано 31 мая, 2011 Жалоба Share Опубликовано 31 мая, 2011 blablabla.ru/index.php?manufacturers_id=2 то есть это собственно страницы вывода всех товаров производителя Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 31 мая, 2011 Жалоба Share Опубликовано 31 мая, 2011 Так а если просто вернуть код по умолчанию и скопировать index.html в index.php_.html ?! По идее, index.php_.html файл как раз и будет использоваться для главной страницы. Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения