Вход

Просмотр полной версии : Версия для печати


_Michael
04.03.2010, 13:56
Здравствуйте,
хотел на сайте сделать линк "Версия для печати". Здесь http://old.nabble.com/-TYPO3-english--print-friendly-page-extension-td22443866.html нашел вот такой пример:

print = PAGE
# put in your complete normal page
print < page
print {
typeNum = 33
includeCSS.file1 = {$pfad}css/print_page_003.css
headerData.997 >
}

lib.print = IMAGE
lib.print {
file = fileadmin/pics/print.gif
imageLinkWrap = 1
imageLinkWrap {
enable = 1
typolink {
parameter.data = page:uid
# same as typeNum here
additionalParams =&type=33
addQueryString = 1
addQueryString.method = GET
title = Print-Preview
title.lang.de = Druck-Vorschau
}
}
}


Вся беда в том, что ето работает, только если контент вставляется не через typoscript. У меня на домашней странице вставляется tt_news со списком новостей, через typoscript:
page.10.subparts.content.20 < tt_news
и к примеру на другой странице у меня есть другой контент:

page.10.subparts.content.20 >
page.10.subparts.content.20 < tx_myextension_pi1

и когда на етой другой странице я кликаю по сгенерированной ссылке "Для печати" мне показивается страница с сообщением "новостей не найдено", то-есть вставляется tt_news с главной страницы, а не tx_myextension_pi1 с даной странице.
Первое решение, которое можно предложить, ето вставлять typoscript, которий динамически создает страницу с typeNum = 33 для печати:
print = PAGE
print < page
print {
typeNum = 33
includeCSS.file1 = {$pfad}css/print_page_003.css
headerData.997 >
}

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

gremoz
04.03.2010, 15:11
А почему бы просто не прекрепить css, в котором и рассказать, как представлять документ для печати:


page.includeCSS {
#Используем один css для браузеров
browser = fileadmin/templates/page_templates/page/css/browser.css
browser.title = Browser Stylesheet
#Используем другой css для печати
print = fileadmin/templates/page_templates/rlg/css/print.css
print.title = Print Stylesheet
print.media = print
}

_Michael
04.03.2010, 16:38
Хочется чтобы была возможность посмотреть в окне браузера как страница будет выглядеть на печати, поскольку не все пользователи пользуются Предварительным просмотром чтоб просмотреть страницу перед печатью и зачастую не печатают страницу, поскольку на ней много графики и они себе представляют как ето плохо будет виглядеть на бумаге.
А так, на странице будет кнопка "Версия для печати" и пользователь уже будет знать что есть другая, "printer-friendly" версия страницы, и ее тут же можно просмотреть и напечатать в удобной форме.

dmartynenko
04.03.2010, 19:40
Вставляйте на страницу контент из TS через экстеншен typoscript_code.