Цитата (Jora16 @ 9.11.2012 - 07:59) |
Добавил в начало шаблона index.tpl переменную {$page_type} |
$smarty->display( "main.tpl" );
Попробовал заменить
$page_type
на
$page_content
- тоже не работает....
Цитата (Bezdna @ 9.11.2012 - 08:14) |
Цитата (Jora16 @ 9.11.2012 - 07:59) | Добавил в начало шаблона index.tpl переменную {$page_type} |
$smarty->display( "main.tpl" );
|
Этот код в шаблон index.tpl добавить? Ведь в index.php эта строка уже существует...
Это вывод шаблона:
$smarty->display( "main.tpl" );
, т.е. main.tpl, а переменную ты выводишь в index.tpl.
Цитата (Bezdna @ 9.11.2012 - 08:35) |
Это вывод шаблона:
$smarty->display( "main.tpl" );
, т.е. main.tpl, а переменную ты выводишь в index.tpl. |
Ну да..., main.tpl навешивает блоки, меню и т.п... Туда добавить переменную?
Может вместо
$smarty->display( "main.tpl" );
написать
$smarty->display( "index.tpl" );
?
killer8080
9.11.2012 - 14:30
Цитата (Jora16 @ 9.11.2012 - 03:19) |
Текст я хотел добавить в файл index.php, который является общим для домена и поддоменов (текст небольшой, 200-300 знаков). |
200 300 символов, на 2000 доменов, итого 400-600 килобайт в однобайтовой кодировке, в юникоде почти вдвое больше. Смысл тащить такой большой, бесполезный балласт в индексном файле? Может лучше хранить это в БД, ну или в файлах?
Цитата (killer8080 @ 9.11.2012 - 13:30) |
Цитата (Jora16 @ 9.11.2012 - 03:19) | Текст я хотел добавить в файл index.php, который является общим для домена и поддоменов (текст небольшой, 200-300 знаков). |
200 300 символов, на 2000 доменов, итого 400-600 килобайт в однобайтовой кодировке, в юникоде почти вдвое больше. Смысл тащить такой большой, бесполезный балласт в индексном файле? Может лучше хранить это в БД, ну или в файлах?
|
Согласен. Но как, все же, его менять в зависимости от URL?
killer8080
9.11.2012 - 17:43
Цитата (Jora16 @ 9.11.2012 - 16:19) |
Согласен. Но как, все же, его менять в зависимости от URL? |
Причем здесь урл? Речь шла о доменах
Брать тот который соответствует текущему домену из бд или файла. В чем собственно проблема?
Проблема в том, в том, что я не знаю как это осуществить. Сейчас текст, который добавлен в файл index.tpl отображается, кроме главной site.ru и на главной поддоменов city.site.ru Нужно чтобы на главной поддоменов был другой текст (один на все), или, хотя бы, его вообще не было...
killer8080
9.11.2012 - 18:06
Цитата (Jora16 @ 9.11.2012 - 16:59) |
Нужно чтобы на главной поддоменов был другой текст (один на все), или, хотя бы, его вообще не было... |
Ну так бы сразу и сказал
echo $_SERVER['HTTP_HOST'] == 'domain.ru' ? 'текст домена' : 'текст субдоменов';
Файл index.tpl общий для домена и поддоменов, поддомены создаются программно, средствами Apache
Цитата (killer8080 @ 9.11.2012 - 17:06) |
Цитата (Jora16 @ 9.11.2012 - 16:59) | Нужно чтобы на главной поддоменов был другой текст (один на все), или, хотя бы, его вообще не было... |
Ну так бы сразу и сказал echo $_SERVER['HTTP_HOST'] == 'domain.ru' ? 'текст домена' : 'текст субдоменов'; |
Спасибо Вам, сделал так:
<?php echo $_SERVER['HTTP_HOST'] == 'domain.ru' ? 'текст домена' : 'текст субдоменов'; ?>
, но ничего не отображается
Сайт на шаблонизаторе Smarty, может здесь как то по другому надо?
Вот так:
{if $_SERVER['HTTP_HOST'] == 'domain.ru'} ? 'текст домена' {else} 'текст субдоменов'{/if}
Выводится текст субдоменов, видимо, переменная не может определить правильный URL, хотя я его вписываю вместо domain.ru
retro4u
11.11.2012 - 03:49
Если это смарти, то читай мануал по нему.
По поводу условий.
{if $smarty.server.HTTP_HOST == "domain.ru"}
такой то домен
{elseif $smarty.server.HTTP_HOST == "domain2.ru"}
еще один туда же
{elseif $smarty.server.HTTP_HOST == "domain3.ru"}
и еще один для комплекту
{/if}
------------------------
Php массив $_SERVER в смарти всегда вызывается как $smarty.server.к_чему_обращаемся
Если вышеуказанный пример не заработает, попробуй задать иначе - $smarty.server.REQUEST_URI
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.