[spoiler]
Создадим файл print.css в директории шаблона сайта (/bitrix/templates/three_columns/), который будет включать в себя следующее:
#panel, #header, #header_logo, #header_text, #header_menu, #header_sites, #zebra, #navigation, #bottom_banner, #horizontal-multilevel-menu, .left-column, .right-column { display: none; } #footer {text-align:left;margin-left:20px;background-color:white;} #footer a {color:#333;} #print_link_back {display:block;text-align:right;margin-right:20px;} |
А также файл script.js:
function SetPrintCSS(isPrint) { var link; if (document.getElementsByTagName) link = document.getElementsByTagName('link'); else if (document.all) link = document.all.tags('link'); else return; for (var index=0; index < link.length; index++) { if (link[index].title == 'print') link[index].disabled = !isPrint; } } if (document.location.hash == '#print') SetPrintCSS(true); |
Затем в файле header.php пропишем теги link и script для подключения файлов print.css и script.js соответственно:
<link rel="stylesheet" type="text/css" media="print" href="/bitrix/templates/three_columns/print.css" /> <link rel="alternate stylesheet" type="text/css" media="screen,projection" href="/bitrix/templates/three_columns/print.css" title="print" disabled="disabled" /> <script type="text/javascript" src="/bitrix/templates/three_columns/script.js"></script> |
Отредактируем включаемую область
и заменим в ней строку
<a href="<?=htmlspecialchars($APPLICATION->GetCurUri("print=Y"));?>" title="Версия для печати" rel="nofollow"><img width="12" height="12" src="/bitrix/templates/three_columns/images/icons/printer.gif" alt="Версия для печати" border="0" /></a> |
на
<a href="#print" onclick="SetPrintCSS(true)" title="Версия для печати" rel="nofollow"><img width="12" height="12" src="/bitrix/templates/three_columns/images/icons/printer.gif" alt="Версия для печати" border="0" /></a> |
Все. Версия для печати готова.
Если из версии для печати необходимо вернуться в нормальный режим, то в header.php пишем:
<a href="#" onclick="SetPrintCSS(false)" id="print_link_back">Вернуться</a> |
а также в CSS шаблона сайта (template_styles.css) вставим:
#print_link_back {display:none;} |
Более того, версия для печати часто используется для чтения контента без дизайна.
Кстати, добавление комментариев глючит, для незарегистрированных пользователей при повторных ответах не показывает капчу.
Какие преимущества мне это даст? Потери времени на изучение длинного рецепта я уже вижу.
- никакого дополнительного шаблона сайта не нужно
- версия для печати - это всего лишь один дополнительный CSS-файл из 5ти строк.
зато, при тяжёлом оформлении с кучей классов в css "всего лишь один дополнительный CSS-файл из 5ти строк" превращается в здоровую портянку, где надо этим классам включать/выключать видимость, фоны, устанавливать границы
а для простеньких сайтов можно и innerText выводить на печать...
Более того, версия для печати не покажет баннеры, приносящие деньги . Поэтому нужно стараться делать основной дизайн адаптированным к поисковым запросам.
- новый параметр тега ссылки rel="nofollow", предложенный командой Google и поддерживаемый Yahoo и MSN.
ЭТО ЗНАЧИТ, ЧТО ПОИСКОВИК НЕ ЛЕЗЕТ ПО ЭТОЙ ССЫЛКЕ!!!
ЭТО ЗНАЧИТ, ЧТО ПОИСКОВИК НЕ ЛЕЗЕТ ПО ЭТОЙ ССЫЛКЕ!!!
Да, этот параметр стоит здесь специально, чтобы "поисковик не полез по этой ссылке".
Для Yandex'а можно добавить теги <noindex></noindex>
Единственное препятствие которое можно создать кодом - это страница, которую не получится корректно разобрать.
Может быть Вы обратили внимание на параметр rel="nofollow" в ссылке.
- новый параметр тега ссылки rel="nofollow", предложенный командой Google и поддерживаемый Yahoo и MSN.
ЭТО ЗНАЧИТ, ЧТО ПОИСКОВИК НЕ ЛЕЗЕТ ПО ЭТОЙ ССЫЛКЕ!!!