Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Header лишний код

00 голосов
4
Добрый день.

У меня вопрос как исправить ниже описанную ситуацию:

В самом шаблоне в header прописан такой код:
Код
<title><? if ($APPLICATION->GetCurDir() == "/") echo "Некоторый текст";
        else $APPLICATION->ShowNavChain(false, 1, "/bitrix/templates/site/show_title.php"); ?> &mdash; Некоторый текст</title>
<?$APPLICATION->ShowHead()?>
<met a name="robots" content="index, follow">
<li nk href="http://www.site.ru/favicon.ico" rel="shortcut icon" type="image/x-icon" />
<!--[if lte IE 6]><li nk href="<?=SITE_TEMPLATE_PATH?>/css/ie6.css" type="text/css" rel="stylesheet"><![endif]-->
 


На выходе в коде полученной страницы имеем:
Код
<title>некоторый текст</title>
<met a http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<met a name="keywords" content="некоторый текст" />
<met a name="description" content="некоторый текст" />
<li nk href="/bitrix/js/main/core/css/core.css?1344496600" type="text/css" rel="stylesheet" />
<li nk href="/bitrix/templates/site/styles.css?1342703827" type="text/css" rel="stylesheet" />
<li nk href="/bitrix/templates/site/template_styles.css?1342703827" type="text/css" rel="stylesheet" />
<sc ript type="text/javascript" src="/bitrix/js/main/core/core.js?1344496600"></sc ript>
<sc ript type="text/javascript">BX  .message({'LANGUAGE_ID':'ru','FORMAT_DATE':'DD.MM.YYYY','FORMAT_DATETIME':'DD.MM.YYYY HH:MI:SS','COOKIE_PREFIX':'BITRIX_SM','USER_ID':'','SERVER_TIME':'1344497323','SERVER_TZ_OFFSET':'14400','USER_TZ_OFFSET':'0','bitrix_sessid':'adceadc3d97bcbdfc21ffe0b5b9fe6d4','SITE_ID':'s1','JS_CORE_LOADING':'Загрузка...','JS_CORE_WINDOW_CLOSE':'Закрыть','JS_CORE_WINDOW_EXPAND':'Развернуть','JS_CORE_WINDOW_NARROW':'Свернуть в окно','JS_CORE_WINDOW_SAVE':'Сохранить','JS_CORE_WINDOW_CANCEL':'Отменить','JS_CORE_H':'ч','JS_CORE_M':'м','JS_CORE_S':'с'})</sc ript>
<sc ript type="text/javascript" src="/bitrix/js/main/core/core_ajax.js?1338197504"></sc ript>
<sc ript type="text/javascript" src="/bitrix/js/main/session.js?1333616818"></sc ript>
<sc ript type="text/javascript">
bxSession.Expand(1440, 'adceadc3d97bcbdfc21ffe0b5b9fe6d4', false, 'c44c67ab639dd523a6a86f0426bdf22e');
</sc ript>
<met a name="robots" content="index, follow">  
<li nk href="http://www.site.ru/favicon.ico" rel="shortcut icon" type="image/x-icon" />
<!--[if lte IE 6]><li nk href="/bitrix/templates/site/css/ie6.css" type="text/css" rel="stylesheet"><![endif]-->

Что необходимо прописать в шаблоне, чтобы в пользователю выдавался код без этого:
Код
<li nk href="/bitrix/js/main/core/css/core.css?1344496600" type="text/css" rel="stylesheet" /> 
<sc ript type="text/javascript" src="/bitrix/js/main/core/core.js?1344496600"></sc ript> 
<sc ript type="text/javascript">BX  .message({'LANGUAGE_ID':'ru','FORMAT_DATE':'DD.MM.YYYY','FORMAT_DATETIME':'DD.MM.YYYY HH:MI:SS','COOKIE_PREFIX':'BITRIX_SM','USER_ID':'','SERVER_TIME':'1344497323','SERVER_TZ_OFFSET':'14400','USER_TZ_OFFSET':'0','bitrix_sessid':'adceadc3d97bcbdfc21ffe0b5b9fe6d4','SITE_ID':'s1','JS_CORE_LOADING':'Загрузка...','JS_CORE_WINDOW_CLOSE':'Закрыть','JS_CORE_WINDOW_EXPAND':'Развернуть','JS_CORE_WINDOW_NARROW':'Свернуть в окно','JS_CORE_WINDOW_SAVE':'Сохранить','JS_CORE_WINDOW_CANCEL':'Отменить','JS_CORE_H':'ч','JS_CORE_M':'м','JS_CORE_S':'с'})</sc ript> 
<sc ript type="text/javascript" src="/bitrix/js/main/core/core_ajax.js?1338197504"></sc ript> 
<sc ript type="text/javascript" src="/bitrix/js/main/session.js?1333616818"></sc ript> 
<sc ript type="text/javascript"> 
bxSession.Expand(1440, 'adceadc3d97bcbdfc21ffe0b5b9fe6d4', false, 'c44c67ab639dd523a6a86f0426bdf22e'); 
</sc ript>
спросил 29 Ноя, 13 от Alikia (100 баллов)

4 Ответы

00 голосов
сотри

<?$APPLICATION->ShowHead()?>
ответил 24 Янв, 14 от Hax (1,100 баллов)
00 голосов
Цитата
Александр Kyдин пишет:
сотри

<?$APPLICATION->ShowHead()?>
А вместо этого куска чего тогда прописать? Ведь, этот кусок кода как раз таки выдаёт мета теги и панель управления Эрмитаж.
ответил 13 Май, 14 от Alikia (100 баллов)
00 голосов
Как вариант можно убирать ShowHead по условию:

Код
global $USER, $APPLICATION;  
if($USER->IsAdmin()){ 
    //для администратора подключаем панель
    $APPLICATION->ShowHead(); 
} else { 
    //для простого пользователя формируем мета теги самостоятельно
    echo '<met a http-equiv="Content-Type" content="text/html; charset='.LANG_CHARSET.'?>">';
    $APPLICATION->ShowMeta("keywords");
    $APPLICATION->ShowMeta("description");   
}

http://dev.1c-bitrix.ru/api_help/main/reference/cuser/isadmin.php
http://dev.1c-bitrix.ru/api_help/main/reference/cmain/getproperty.php
http://dev.1c-bitrix.ru/api_help/main/reference/cmain/getmeta.php

Ну и так далее. Останется отловить js и css, подключаемые модулями, либо прописать их вручную. Смотрите в сторону http://dev.1c-bitrix.ru/api_help/main/reference/cmain/getcss.php и http://dev.1c-bitrix.ru/api_help/main/reference/cmain/showheadscripts.php
ответил 09 Сен, 14 от KeiDen (400 баллов)
00 голосов
Вообще все что здесь предлагают, это костыли, мол отказывайтесь от API и пишите сами как вам нравиться. То что битрикс по поводу и без подключает свои библиотеки, я считаю ошибкой. Если я не администратор, у меня пустая страница зачем мне core.js, core_ajax.js и т.д? Уже не раз это обсуждали, битрикс считает это нормальным. Т.е. если вы будете разрабатывать например мобильную версию сайта, и вам вообще будет не нужен javascript, эти библиотеки все равно будут висеть мертвым грузом добавляя лишнюю сотню Кб. Неужели трудно сделать проверку и подключать только то что действительно нужно?
ответил 15 Янв, 15 от Fka (340 баллов)

Похожие вопросы

0 голосов
2 ответов
спросил 17 Март, 14 от MarmiLadk (100 баллов)
0 голосов
0 ответов
спросил 31 Авг, 13 от Tecktonik (120 баллов)
0 голосов
1 ответ
спросил 30 Янв, 18 от аноним
0 голосов
2 ответов
спросил 26 Фев, 14 от GIN1 (200 баллов)
0 голосов
3 ответов
спросил 06 Ноя, 13 от Babyk (140 баллов)