Страница для печати

#
Страница для печати
Как можно сделать чтобы в xsl шаблоне инф. элемента появилась ссылка: Печать
Т.е. вывод новости на принтер (другой шаблон). Надо шаблон прикрутить спец. для этого.
Помогите реализовать. Если это конечно же возможно.
Делаю сайты на HostCMS! Подробнее по почте anton.yurzanov@gmail.com
Модератор
#
Re: Страница для печати
Юрзанов Антон Викторович,
есть 2 варианта:
Вариант №1 для всего сайта:
В макете сайта в самом началае пишите:
<?
# Проверяем, если нажали ссылку "Печать"
if(isset($_GET['action']) and $_GET['action']=="print" )
{
# Выводим только содержание страницы (версия для печати)
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title><?$kernel->show_title()?></title>
<meta name="description" content="<?$kernel->show_description()?>">
<meta name="keywords" content="<?$kernel->show_keywords()?>">
<meta http-equiv="Content-Language" content="ru">
<meta content="text/html; charset=windows-1251" http-equiv=Content-Type>
<?$kernel->show_CSS()?>
</head>
<body topmargin="0" leftmargin="0" marginwidth="0" marginheight="0">

   <?
   # Устанавливаем шаблон для текущей страницы
   # Значение 10 замените на Ваш шаблон (не макет), в нем сверху и снизу можете добавить каую то шапку и подвал с копирайтом
   $kernel->set_current_page_data_template(10);
   
   # Вызов шаблона для текущей страницы
   $kernel->show_current_template();

   # Вывод версии для печати закончен
   exit();
}
?>


После чего в основном макете добавляем в макете ссылку
<a href "./?action=print">Версия для печати</a>


Вариант №2:
Создаете новый узел структуры для показа инфоэлемента, для него применяете некий шаблон. Через $_GET или через дополнительный параметр из URL (если URL = /show_print/123456/), то end($GLOBALS['URL_ARRAY']) вернет 123456

его подставляете в ShowInformationItem и указываете другие необходимые параметры, включая нужный XSL-шаблон.
#
Re: Страница для печати
у меня один макет сайта, он же основно. вписала в него Ваш код, а куда теперь ставить ссылку? если ставлю в него же, то надпись "версия для печати" появляется, но она неактивна, а на сайте пропадают стили.. Как быть?
#
Re: Страница для печати
ага. неактивно ссылки объяснилась просто.. в приложенном коде отсутствует знак "=". тоесть он должен выглядеть:
<a href="./?action=print">Версия для печати</a>

а вот как с остальным-то быть.. по всем ощущениям если вписывать весь код в основной макет, то он и выглядит как версия для печати.. помогите разобраться, пожалуйста!
Модератор
#
Re: Страница для печати
Вкусная витаминка писал(а):
ага. неактивно ссылки объяснилась просто.. в приложенном коде отсутствует знак "=". тоесть он должен выглядеть:
<a href="./?action=print">Версия для печати</a>


Вы правы, опечатка.

в остальном код рабочий, если у Вас возникает какая то проблема - добавьте код и пришлите запрос в службу поддержки
#
Re: Страница для печати
еще вопрос. Все подключилось, ваши специалисты смогли-таки разъяснить мне, что и как, но есть еще малюсенькая проблема..
При печати на бумаге напрочь испаряются картинки фонов и бэграунды.. Почему такое может происходить?
При простой печати (не через версию для печати) тоже самое..
#
Re: Страница для печати
вопрос снимаю. объяснили мне уже, что это устанавливается в настройках печати.
#
Re: Страница для печати
HVitaminka писал(а):
а вот как с остальным-то быть.. по всем ощущениям если вписывать весь код в основной макет, то он и выглядит как версия для печати.. помогите разобраться, пожалуйста!


решил сделать тут = почитал форум и пришел к этой теме
делаю как в документации в итоге тот узел структуры куда вставлял по инструкции код(в макет блин)-  отображается действительно без стилей

не понимаю 8(

приводить макет?
ку
#
Re: Страница для печати
compaq, приведите код макета и его CSS-стилей.
#
Re: Страница для печати
* { padding: 0; margin: 0; }
body {
font-family: Arial; font-size: 11px; color:#3C4B5E;  background-color: #FFF;
}
a {color:#437CB3;  text-decoration: underline;}
img {border: 0}
.clear {clear: both; font-size: 0; overflow: hidden;}
.current_page {margin: 45px 0 0 0}
div.stats{
display:inline;
height:0px;
left:-1000px;
margin:0px;
padding:0px;
position:absolute;
top:-1000px;
visibility:hidden;
width:0px
}
#wrapper {
margin: 0 auto;
width: 938px;
}
#header {
width: 938px;
float: left;
height: 202px;
}
.header_left {float:left;  width: 306px; height: 50px; padding: 152px 0 0 51px; margin: 0; background: url(../../images/winboat/logo.jpg) no-repeat scroll 0px 64px;}
.header_left_info { width: 167px;}
.header_left_info h1 {position: relative; font-size:13px; color:#445788; }
.header_left_info h1 span {position: absolute; left: 0; width: 100%; height: 41px; background: url(../../images/winboat/telefon.jpg) no-repeat scroll left top; }
.header_right {float:left; width:581px;  height: 202px; background: url(../../images/winboat/top_border.gif) no-repeat scroll 2px top; }
.header_right h1 {position: relative; font-size:13px; color:#445788; }
.header_right h1 span {position: absolute; left: 0; width: 100%; height: 31px; background: url(../../images/winboat/product.jpg) no-repeat scroll left top; }
.header_right_news {width:418px; height: 31px; margin: 135px 0 0 2px; padding: 0 0 0 2px; float:left;  line-height: 1.2em;}
.header_news_main span.date {color:#7B7B7B; font-size: 11px}
.header_news_main p.text {margin: 8px 0 0 0; }
.header_news_main {float:left; width:169px; color:#7B7B7B; margin: 0 35px 0 0; font-size: 11px; }
.header_news_main a {color:#929292;}
.header_right_news a.arch {color:#153469; font-size: 11px;}
.header_right_en { float: right;  width:82px; height: 93px; margin: 66px 0 0 0; padding: 0 2px 0 0; text-align: right;}
.header_right_en a {font-style: italic; color:#6D7E8E; font-size: 10px;}
.header_right_menu {height: 11px; margin: 72px 4px 0 0}
.space {padding: 0 18px 0 18px}
.header_right_line {clear: both; font-size: 0; width: 569px; height: 1px; border-bottom: 1px solid #F7F8F3; margin: 0 0 0 4px; padding: 26px 0 0 0 }
#left {
margin: 0px;
padding: 59px 0 0 0;
width: 357px;
float: left;
}
#left ul.product {list-style: none; margin: 0 ; padding:0;}
#left ul.product li {background: url(../../images/winboat/pcircle.gif) no-repeat scroll left 4px; padding: 0 0 0 13px; }
#left ul.product a {color: #1C4488}
.left_menu_razdel {padding: 12px 0 0px 1px; margin: 0 0 0 56px; background: url(../../images/winboat/circle.gif) no-repeat scroll 155px 15px;  width:160px; height: 23px; border-bottom: solid 1px #D7D7D7; }
.left_menu_razdel_n {padding: 12px 0 0px 1px; margin: 0 0 0 56px; background: url(../../images/winboat/circle.gif) no-repeat scroll 155px 15px;  width:160px; height: 23px; }
.left_menu_razdel_n a {color: #3C3F41; text-decoration: none; font-size: 11px;}
.left_menu_razdel a {color: #3C3F41; text-decoration: none; font-size: 11px;}
.left_company {background: url(../../images/winboat/div.gif) no-repeat scroll left top; height: 56px; width: 187px; padding: 11px 0 0 14px; margin: 0px 0 0 43px;}
.left_company a {color: #3C3F41; text-decoration: none; font-size: 11px;}
.left_company p {margin: 11px 0 0 1px}
.left_company p a {color:#888B8D; font-size: 11px; text-decoration: underline; padding: 0 21px 0 0; }
.left_catalog {width: 240px; height: auto; padding: 31px 0 0 0px; margin: 47px 0 0 0;}
.left_catalog h1 {position: relative; font-size:13px; color:#445788; }
.left_catalog h1 span {position: absolute; left: 0; width: 100%; height: 18px; background: url(../../images/winboat/catalog.jpg) no-repeat scroll left top; }
.left_catalog_item {margin: 16px 0 0 57px}
.left_catalog_item img {padding: 0 0 5px 0}
.left_catalog_file {background: url(../../images/winboat/pdf.png) no-repeat scroll left bottom; height: 29px; padding:  3px 0 0 40px; background-color:#FFF;}
#right {
float: right;
margin: 0;
padding: 0;
width: 581px;
display: inline;
color: #3D4A5D;
font-size:12px;
}
.right_razdel_text {margin: 0 0 0 2px;}
.right_item {float:left; padding: 0 60px 60px 0; _margin: 0 -3px 0 0}
.right_item img {padding: 1px; border: solid 1px #929292; vertical-align: top; margin: 0 0 3px 0}
.right_item_main div.road {padding: 0 0 45px 0}
.right_item_main div.desc {margin: 50px 0 0 0; font-size: 11px; width: 400px;}
.right_item_main div.har {margin: 50px 0 0 0}
.right_item_main h1 {color:#437CB3; font-size: 14px; font-weight: bold;}
.right_item_main h1 a {color: #888B8D; }
.right_item_main span {color: #3C4B5E;}
.right_item_main table {width: 400px;}
.right_item_main table td {border-bottom: 1px dotted #ccc;  }
.right_item_photo {width:309px; float:left; }
.right_item_photo img {padding: 1px; border: solid 1px #929292; vertical-align: top;}
.right_item_photo img.small {padding: 1px; margin: 4px 4px 0 0; border: solid 1px #929292;}
.right_item_text {float:right; width: 260px; text-align: left;  }
.value {text-align: right;}
#footer {
width: 876px;
color:#D7D7D7;
clear: both;
margin: 0;
padding: 80px 0 0 52px;
height: 70px;
}
#footer a {color:#D7D7D7; font-size:11px;}
#footer span {color:#DDD5CA; font-size:12px; font-weight: bold;}



<!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">
   <head>
      <meta http-equiv="Content-Type" content="text/html;charset=<?php echo SITE_CODING?>" />
      <meta name="keywords" content="<?php $kernel->show_keywords()?>" />
      <meta name="description" content="<?php $kernel->show_description()?>" />
      <script type="text/javascript" src="/highslide/highslide-with-gallery.js"></script>
<link rel="stylesheet" type="text/css" href="/highslide/highslide.css" />
<script type="text/javascript">
    // override Highslide settings here
    // instead of editing the highslide.js file
    hs.graphicsDir = '/highslide/graphics/';
</script>
<script type="text/javascript">
   hs.graphicsDir = '/highslide/graphics/';
   hs.align = 'center';
   hs.transitions = ['expand', 'crossfade'];
   hs.outlineType = 'rounded-white';
   hs.wrapperClassName = 'controls-in-heading';
   hs.fadeInOut = true;
   //hs.dimmingOpacity = 0.75;

   // Add the controlbar
   if (hs.addSlideshow) hs.addSlideshow({
      //slideshowGroup: 'group1',
      interval: 5000,
      repeat: false,
      useControls: true,
      fixedControls: false,
      overlayOptions: {
         opacity: 1,
         position: 'top right',
         hideOnMouseOut: false
      }
   });
</script>
      <title>
         <?php $kernel->show_title()?>
      </title>
      <?php $kernel->show_CSS()?>
   </head>
   <body>
      <!-- Begin Wrapper -->
      <div id="wrapper">
         <!-- Begin Header -->
         <div id="header">
            <div class="header_left">
               <div class="header_left_info">
          <h1>Тел: +7 (812) 305-38-94<span></span></h1></div>
            </div>
            <div class="header_right">
               <div class="header_right_news">
          <h1>Продукция<span></span></h1>
               </div>
               <div class="header_right_en">
                  <a href="/en">in English</a>
                  <div class="header_right_menu">
                  <a href="/"><img src="../../images/winboat/chome.gif" alt="" height="10" width="11" /></a>
                  <a href="/map"><img src="../../images/winboat/map.gif" class="space" alt="" height="11" width="11" /></a>
                  <a href="#"><img src="../../images/winboat/mail.gif" alt="" height="11" width="12" /></a></div>
               </div>
               <div class="header_right_line"></div>
            </div>
         </div>
         <!-- End Header -->
         <!-- Begin Left Column -->
         <div id="left">
      <div class="left_company">
         <a href="/about">О компании</a>
         <p><a href="/about/contacts">Контакты</a><a href="#">Дилеры</a></p></div>
         <div class="left_menu_razdel"><a href="/news">Новости</a></div>
       <div class="left_menu_razdel"><a href="/product">Продукция</a></div>
       <div class="left_menu_razdel"><a href="/product/price">Прайслист</a></div>
         <div class="left_menu_razdel"><a href="/partners">Для партнеров</a></div>
         <div class="left_menu_razdel"><a href="/forum">Общение</a></div>
         <div class="left_catalog">
         <h1>Каталог продукции<span></span></h1>
         <div class="left_catalog_item">
         <?
     $shop = new shop();
   $shop->ShowShop(1,'ПродукцияКаталогТоваровНаГлавной');
  ?>
         </div>

         </div>



         </div>
         <!-- End Left Column -->
         <!-- Begin Right Column -->

         <div id="right">
         <div class="right_razdel">

         <div class="right_razdel_text">
         <?
      // Вывод строки навигации
      $InformationSystem = & singleton('InformationSystem');

      // Определяем информацию об информационной системе, связанной с текущим узлом
      $InformationSystem_id = $InformationSystem->GetInformationSystemByStructureId(CURRENT_STRUCTURE_ID);

      $param = array();

      $external_propertys = array();

      // Если с узлом структуры связана ИС
      if ($InformationSystem_id)
      {
         $result = $InformationSystem->GetInformationFromPath($InformationSystem_id, '', false);

         // определяем id информационного элемента
         if ($result['item'])
         {
            $item_id = $InformationSystem->GetIdInformationItem($result['item'], $result['group'], $InformationSystem_id);

            if ($item_id != 0)
            {
               $external_propertys['item'] = $item_id;

               $param['show_groups'] = true;
               $param['show_items'] = true;
            }
         }
         else
         {
            $item_id = false;
         }

         if (is_array($result) && $result['group'] > 0)
         {
            // Передаем во внешние параметры ID элемента и группы
            $external_propertys['group'] = $result['group'];
            $param['show_groups'] = true;
         }

         // Данные для хлебных крошек заполняем только для текущей ИС
         $param['show_information_systems'][] = $InformationSystem_id;
      }
      elseif (class_exists('shop'))
      {
         $shop = & singleton('shop');

         // Определяем информацию о магазине, связанным с магазином
         $shop_row = $shop->GetShopWhithStructureId(CURRENT_STRUCTURE_ID, CURRENT_SITE);

         if ($shop_row)
         {
            $result = $shop->GetItemPath($shop_row['shop_shops_id'], '', false);

            // определяем id информационного элемента
            if ($result['item'])
            {
               $item_id = $result['item'];

               if ($item_id != 0)
               {
                  $external_propertys['item'] = $item_id;

                  $param['show_shop_groups'] = true;
                  $param['show_shop_items'] = true;
               }
            }
            else
            {
               $item_id = false;
            }

            if (is_array($result) && $result['group'] > 0)
            {
               // Передаем во внешние параметры ID элемента и группы

               $external_propertys['group'] = $result['group'];

               $param['show_shop_groups'] = true;
            }
         }
      }

      $structure = & singleton('Structure');
      $structure->ShowStructure(false, 'ХлебныеКрошки', $param, $external_propertys);

      // END Хлебные крошки
      ?>

     <?php
$kernel->show_current_template();
            ?>
ку
Авторизация