Проблема заключается в том что тэги smarty в шаблоне стоят самыми первыми. При этом, в html код который передается браузеру, вместо этих тэгов подставляются пустые строки, из за которых в Internet Explorer съезжают все css стили. Отсюда получается разное отображение сайта в разных браузерах, например firefox'у на это совершенно наплевать, а IE от двух пустых строчек начинает плющить, крючить и колбасить. Код (Text): {config_load file="site.conf"} {load_presentation_object filename="store_front" assign="obj"} <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>{$obj->mPageTitle}</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link type="text/css" rel="stylesheet" href="{$obj->mSiteUrl}styles/tshirtshop.css" /> </head> <body> ....... Кто сталкивался с такими проблемами, поделитесь пожалуйста способами решения. P.S. Ответы типа: удали их, не используй smarty и т.п. Не принимаются.
А можно поподробнее, желательно на примере первых 2-х строчек приведенного мной кода? Я в smarty не особо разбираюсь, да и к своему проекту имею не круглосуточный доступ.
{strip} {config_load file="site.conf"} {load_presentation_object filename="store_front" assign="obj"} <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>{$obj->mPageTitle}</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link type="text/css" rel="stylesheet" href="{$obj->mSiteUrl}styles/tshirtshop.css" /> </head> <body> {/strip}
Сегодня попробовал, не помогает. Прикрутил простенький Фильтр вывода с substr(), тоже не помогло, но сложилось впечатление что он удалил эти символы, однако вмесно них прикрутил на то же место 6 своих, точно таких же. Кто встречался с таким поведением smarty, откликнитесь пожалуйста.
смарти думаю тут не при чем. Смотри не в внешний вид, а исходный код страницы. может они не совсем пустые))
Эти символы есть везде где встречаются тэги smarty. Попробовал вывести через простенький фильтр вывода, он удалил несколько этих символов но полностью проблему решить не смог. Обновил smarty до версии 3.0.7, но не помогло, хотя символов стало меньше и пропал перевод на новую строку.
Так ты всё же определись - символы, или пустые строки. Если символы - возможно у тебя выводится BOM Сохраняй документ в "UTF8 без BOM", например у Notepad++ есть такая функция
Символы. Разобрался, откуда они лезли. Их вместо себя подтавляет функция require_once(), а не сами тэги smarty. Интересно, а как от этого отделаться?