Вывод страницы на печать определенного размера
От: slamm  
Дата: 04.06.08 11:37
Оценка:
Вопрос в следующем:
Имеется интернет магазин на 1С-Битрикс, когда произведен заказ и все действия выполнены, в конце появляется страничка с договором(в котором указаны реквизиты покупателяч и продавца, а также сумма заказа). Как сделать так...чтобы по нажатию клвиши, допустим "печать" на этой страничке открывалось новое окошко определенного размера и включало в себя только сам этот договор, без шаблонных "вещей" слева и справа. т.е страничка получаемая стандартными средствами Битрикса имеет следующий вид — слева у меня Боковое меню, а также всякие там ссылки, справа блог новостей, а по центру как раз сам договор, так вот нужно чтоб на новой страничке по нажатию клавиши был только сам договор и к нему еще снизу подгружалась картинка с печатью. Помогите кто может. С javascript'om дела никогда неимел, поэтому разобраться немогу(((
Re: Вывод страницы на печать определенного размера
От: Sinclair Россия https://github.com/evilguest/
Дата: 04.06.08 12:22
Оценка:
Здравствуйте, slamm, Вы писали:

S>Вопрос в следующем:

S>Имеется интернет магазин на 1С-Битрикс, когда произведен заказ и все действия выполнены, в конце появляется страничка с договором(в котором указаны реквизиты покупателяч и продавца, а также сумма заказа). Как сделать так...чтобы по нажатию клвиши, допустим "печать" на этой страничке открывалось новое окошко определенного размера и включало в себя только сам этот договор, без шаблонных "вещей" слева и справа. т.е страничка получаемая стандартными средствами Битрикса имеет следующий вид — слева у меня Боковое меню, а также всякие там ссылки, справа блог новостей, а по центру как раз сам договор, так вот нужно чтоб на новой страничке по нажатию клавиши был только сам договор и к нему еще снизу подгружалась картинка с печатью. Помогите кто может. С javascript'om дела никогда неимел, поэтому разобраться немогу(((
1. А что на это говорит сам Битрикс? Неужели никто до вас не пользовался их магазином и не печатал договора? Или магазин — ваша разработка?
2. Самая простая идея — починить CSS.
То есть, к примеру, если сделать в том же самом CSS файле, который используется для странички, секцию посвященную @media print, и в ней аккуратно задавить видимость навигации, то пользователь всегда будет получать нормальный вид при печати. См. например здесь.
Кнопку "печать" в таком случае лучше научить открывать print preview текущего документа, примерно так.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[2]: Вывод страницы на печать определенного размера
От: TheOldMan  
Дата: 04.06.08 14:24
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>1. А что на это говорит сам Битрикс? Неужели никто до вас не пользовался их магазином и не печатал договора? Или магазин — ваша разработка?

S>2. Самая простая идея — починить CSS.
S>То есть, к примеру, если сделать в том же самом CSS файле, который используется для странички, секцию посвященную @media print, и в ней аккуратно задавить видимость навигации, то пользователь всегда будет получать нормальный вид при печати. См. например здесь.
S>Кнопку "печать" в таком случае лучше научить открывать print preview текущего документа, примерно так.

Проще наверное взять нужный елемент и вывести в окошко:

<script language="javascript">
    var w = window;
    var d = document;
    var printWObj = null;
    
    function printWindow(){    
        var cO = d.getElementById("center-column");
        if(printWObj){printWObj.close();}
        if(cO){
            printWObj = w.open("","","toolbar=0,menubar=0,location=0,scrollbars=1");
            var prb = printWObj.document.getElementsByTagName("BODY")[0];
            var value = "<?php echo $this->translate('html.label.print'); ?>";
            prb.innerHTML += "<p><input type='button' onclick='window.print();' value='" + value + "'> &nbsp; " + w.location + "</p>";
            prb.innerHTML += cO.innerHTML;
            printWObj.window.print();
        }
    }
</script>


Код ужасный, не мой, но здесь главное идея.
суть в простоте, а простота в сути
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.