Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Снова разрывы при отображении страницы, и интересный момент с кодом


Recommended Posts

Всем привет!

Недавно уже создавал тему про непонятные разрывы при выводе шаблона. Тогда я так и не нашел их причину, но удалось их устранить перемещением некоторой части кода из одного файла в другой.

Теперь, совершенно внезапно, появились два новых пробела - один между шапкой и контент_топ, другой в самом верху, перед шапкой (отступ сверху~20px).

Проверил верстку - везде у блоков проставлены нулевые рамки и отступы, т.е теоретически шапка должна начинаться от верхушки страницы, без отступа.

Начал копать разметку через Opera Dragonfly, и вот что обнаружилось:

Изображение

Обратите внимание, все содержание шапки документа (линки, метаданные, титл) выводится почему-то в блоке <body>, а <head> пустует. И, кстати, обнаружилось, что строка #text ufeff как раз и является причиной этого самого пробела(отступа) сверху.

Теперь, посмотрим что будет если изменить в настройках шаблон на стандартный опенкарт:

Изображение

Как видно, все выводится корректно, никаких странных строк типа #text ufeff, загололовки и линки в <head>, основные блоки в <body>.

Казалось-бы, очевидно что проблема в верстке моего шаблона, но не тут-то было. Код шапки:

<?php if (isset($_SERVER['HTTP_USER_AGENT']) && !strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 6')) echo '<?xml version="1.0" encoding="UTF-8"?>'. "n"; ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" dir="<?php echo $direction; ?>" lang="<?php echo $lang; ?>" xml:lang="<?php echo $lang; ?>">

<head>

<title><?php echo $title; ?></title>

<base href="<?php echo $base; ?>" />

<?php if ($description) { ?>

<meta name="description" content="<?php echo $description; ?>" />

<?php } ?>

<?php if ($keywords) { ?>

<meta name="keywords" content="<?php echo $keywords; ?>" />

<?php } ?>

<?php if ($icon) { ?>

<link href="<?php echo $icon; ?>" rel="icon" />

<?php } ?>

<?php foreach ($links as $link) { ?>

<link href="<?php echo $link['href']; ?>" rel="<?php echo $link['rel']; ?>" />

<?php } ?>

<link rel="stylesheet" type="text/css" href="catalog/view/theme/default/stylesheet/styles.css" />

<?php foreach ($styles as $style) { ?>

<link rel="<?php echo $style['rel']; ?>" type="text/css" href="<?php echo $style['href']; ?>" media="<?php echo $style['media']; ?>" />

<?php } ?>

<script type="text/javascript" src="catalog/view/javascript/jquery/jquery-1.7.1.min.js"></script>

<script type="text/javascript" src="catalog/view/javascript/jquery/ui/jquery-ui-1.8.16.custom.min.js"></script>

<link rel="stylesheet" type="text/css" href="catalog/view/javascript/jquery/ui/themes/ui-lightness/jquery-ui-1.8.16.custom.css" />

<script type="text/javascript" src="catalog/view/javascript/jquery/ui/external/jquery.cookie.js"></script>

<script type="text/javascript" src="catalog/view/javascript/jquery/colorbox/jquery.colorbox.js"></script>

<link rel="stylesheet" type="text/css" href="catalog/view/javascript/jquery/colorbox/colorbox.css" media="screen" />

<script type="text/javascript" src="catalog/view/javascript/jquery/tabs.js"></script>

<script type="text/javascript" src="catalog/view/javascript/common.js"></script>

<?php foreach ($scripts as $script) { ?>

<script type="text/javascript" src="<?php echo $script; ?>"></script>

<?php } ?>

<!--[if IE 7]>

<link rel="stylesheet" type="text/css" href="catalog/view/theme/default/stylesheet/ie7.css" />

<![endif]-->

<!--[if lt IE 7]>

<link rel="stylesheet" type="text/css" href="catalog/view/theme/default/stylesheet/ie6.css" />

<script type="text/javascript" src="catalog/view/javascript/DD_belatedPNG_0.0.8a-min.js"></script>

<script type="text/javascript">

DD_belatedPNG.fix('#logo img');

</script>

<![endif]-->

<?php echo $google_analytics; ?>

</head>

<body>

<div id="background_layer2">

<div id="main_block">

<div id="header">

<div id="magazin_menu">

<ul>

<li><a href="<?php echo $home; ?>"><?php echo $text_home; ?></a></li>

<?php foreach ($informations as $information) { ?>

<li><a href="<?php echo $information['href']; ?>"><?php echo $information['title']; ?></a></li>

<?php } ?>

<li><a href="<?php echo $contact; ?>"><?php echo $text_contact; ?></a></li>

</ul>

</div>

<div id="phone"></div>

<?php if ($logo) { ?>

<div id="logo"><a href="<?php echo $home; ?>"><img src="<?php echo $logo; ?>" title="<?php echo $name; ?>" alt="<?php echo $name; ?>" /></a></div><?php } ?>

<?php echo $cart; ?>

<?php if ($categories) { ?>

<div id="category_menu">

<ul>

<?php foreach ($categories as $category) { ?>

<li><?php if ($category['active']) { ?><a href="<?php echo $category['href']; ?>" class="active"><?php echo $category['name']; ?></a>

<?php } else { ?>

<a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a>

<?php } ?></li><?php } ?>

</ul>

</div>

<?php } ?>

<div class="main_title_line_empty"></div>

<div id="search"><div id="txtsearch"><?php if ($filter_name) { ?>

<input type="text" name="filter_name" value="<?php echo $filter_name; ?>" />

<?php } else { ?>

<input type="text" name="filter_name" value="<?php echo $text_search; ?>" onclick="this.value = '';" onkeydown="this.style.color = '#000000';" />

<?php } ?></div><div class="button-search"></div></div>

</div>

<div class="mainarea">

При этом, совершенно точно могу сказать: 1. До тега <body> содержание шапки совершенно идентично содержанию в стандартном шаблоне. 2. Все открытые в шапке теги закрываются в файле footer.tpl.

Так в чем-же, черт возьми, проблема? Ну каким образом может код, заключенный в тег <head>, перемещаться в <body> при выводе?

Link to comment
Share on other sites


Пока сайт на локальной машине у меня (denwer).

А выглядит все очень просто - сайт просто смещен вниз относительно верхнего края страницы.

Link to comment
Share on other sites


Ну вот каким образом содержимое, которое явно находится внутри тега <head></head> может перемещаться в <body></body>? Это что за аномалия вообще? Может у кого-то хотя-бы есть идеи, что это такое? Могу нужную инфу показать если понадобится (стили, содежирмое файлов шаблона и т.д).

Вроде так неплохо натягивал верстку на движок, а тут эти отступы застопорили всю работу, не дают покоя!

Link to comment
Share on other sites


похоже на то, что какой-то файл неверно перекодирован в utf. И здесь имеет место наличие bom. нужно найти что это за файл и этот самый bom в нем убрать.

можно заюзать скрипт отсюда http://udiadivalery.com/2011/06/utf-8-bez-bom-kak-udalit-bomy/

только поправить пути в нем на нужные.

  • +1 1
Link to comment
Share on other sites

О дааа, заюзал Notepad++, преобразовал кодировку в UTF-8 без BOM, и все стало нормально.

Огромное спасибище!

:eek:

Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.