Доработка для каталога статей "Версия для печати"

+55
3.51K
Приветствую!

Доработка заключается в добавлении одного файла (print.php), который формирует версию для печати и добавление ссылки в шаблон com_content_read.tpl.


Долгое время меня не было — причин много, сначала ЧЕ, потом различные shit happens, ну и самая главная — в скором времени я переезжаю на 4000км восточнее, что само по себе влечет за собой кучу всяких разных проблем и сложностей. Работать не получается

Думал, чем бы отметить возвращение — и решил сделать то, о чем меня спрашивали несколько раз — реализовать "Версию для печати" для компонента статей. У меня эта функция работает для другого компонента (стандартные "Статьи" не использую), так что задача была лишь в адаптации к Инстанту. Я такой вариант у себя не использую, так что хорошенько потестировать не получилось — проверил лишь на нескольких статьях демо-сайта.

Инструкция:

1. Скачать файл print.php — ОБНОВИЛ, открыть его и исправить ссылку в самом низу(вставить ваш домен), положить его в папку /components/content/.
2. Добавить в шаблон /templates/_ВАШ ШАБЛОН_/components/com_content_read.tpl в нужное место текст
  1. <a title="Версия для печати" href="/components/content/print.php?seolink={$article.seolink}" target="_blank">Версия для печати</a>
. В качестве ссылки можно использовать картинку, это уже на любителя.

Это все, после данных исправлений почистить кэш и открыть любую статью. Должна появиться ссылка "Версия для печати", по клику на которую в новом окне откроется статья в формате, удобном для печати.

Группе, к которой вы принадлежите, запрещено просматривать этот скрытый текст


На странице печати есть возможность отключить иллюстрации перед распечатыванием.

Если проявятся какие-то проблемы — пишите в комментариях, попробую помочь.

PS переписку не забываю, в воскресенье будет готова версия
+4
Сергей Петрович Сергей Петрович 9 лет назад #
100% нужная весчь!!
0
Роман Роман 9 лет назад #
100% нужная весчь!!
согласен. Автору огромный +
0
eoleg eoleg 9 лет назад #
Говорят переезд хуже пожара! )
4000 км это гдето между иркутском и красноярском - там инет то есть? )
0
SJen SJen 9 лет назад #
4000км - это из Минеральных Вод до Красноярска
с остановкой в Ижевске (там родственники, к ним по пути заглянем)
интернет то во всех этих городах есть - ну как минимум 3G
+1
iParovoz iParovoz 9 лет назад #
)) Поздравляю! будем соседями
0
vpugachev vpugachev 9 лет назад #
Это очень нужное дополнение и пользователям очень пригодится. Но есть вопрос как его воспримут ПС, это получается дубликат основной страницы, т.е. может получится, что поисковики в выдаче будут брать страницу печати что не совсем корректно...
0
Роман Роман 9 лет назад #
сделайте выдачу на печать только для зарегистрированных пользователей
0
vpugachev vpugachev 9 лет назад #
Не хотелось бы так решать эту задачу и оставить гость распечатать статью с эмблемой сайта и ссылкой на статью, а не копипастом без исходных данных.
0
SJen SJen 9 лет назад #
нет дубликатов
во-первых, там метатег <META NAME="ROBOTS" CONTENT=""Noindex, nofollow">
во-вторых, (если очень хочется), можно и в роботс запретить страницы к индексации
0
Def Def 9 лет назад #
а для блогов что надобно переделать?)
0
SJen SJen 9 лет назад #
ууууу, гляну как-нить
так на пальцах не объясню, надо код открывать и адаптировать под блоги
0
GarikKR GarikKR 9 лет назад #
Присоединяюсь к просьбе Юрия, очень нужная функция.
0
RoN RoN 9 лет назад #
У меня не работает. Во-первых, надо кодировку у файла менять с UTF-8 в ANSI. Ссылок очень много на домен pechenuka.ru, не только внизу, они по всюду. Изменил их, но не выводится не содержимое статьи, ни автор.

У кого-нибудь работает на 1.9?
0
SJen SJen 9 лет назад #
проверю, если правда есть ссылки, то я ошибся и не то закинул
0
st.Puh st.Puh 9 лет назад #
Ссылок действительно очень много по всему файлу,но и непонятно на что менять ссылки если только адрес сайта "ссылку в самом низу(вставить ваш домен)" но если домен менять то остаеца
Код PHP:
$recipe['post_meta']  = str_replace('http://www.pechenuka.ru/news/wp-content','http://www.pechenuka.ru/i/wp-content',$recipe['post_meta']);
            $recipe['post_content']  = str_replace('http://www.pechenuka.ru/news/wp-content','http://www.pechenuka.ru/i/wp-content',$recipe['post_content']);
а тут не только домен у нас таких ни папок ни файлов нет,куда ето переписывать под свои сайты?
0
SJen SJen 9 лет назад #
прошу прощения, не то закинул
не подумайте, что я хотел поделиться своими ссылками - потому что старый вариант вообще на Инстанте не будет работать, он даже не для компонента статей.

Обновил файл

0
st.Puh st.Puh 9 лет назад #
Заменил файл,закинул по указному пути,вставил ссылку,жму на ссылку открываеца новое окно и в нем ошибка 404
http://vgospode.ru/components/content/print.php?seolink=stati/ukraina/s-voskresene-25-marta-ukraina-perehodit-na-letne-vremja
0
SJen SJen 9 лет назад #
/components/content/print.php
файл точно там есть? - права на него 644?
0
st.Puh st.Puh 9 лет назад #
Да файл там есть и права 644 на файл
0
RoN RoN 9 лет назад #
Скачал обновленный print.php и тоже теперь ошибка 404 выходит.
0
lezginka.ru lezginka.ru 9 лет назад #
+
0
Алексей Алексей 9 лет назад #
Зачет! )) Очень хорошая и полезная штука. Спасибо )))
0
Def Def 9 лет назад #
странно, выдало ошибку:


Warning: preg_replace() [function.preg-replace]: Compilation failed: invalid UTF-8 string at offset 6 in /home/p114207/www/.ru/components/content/print.php on line 46

Warning: Cannot modify header information - headers already sent by (output started at /home/p114207/www/.ru/components/content/print.php:46) in /home/p114207/www/.ru/core/cms.php on line 1769

Warning: Cannot modify header information - headers already sent by (output started at /home/p114207/www/.ru/components/content/print.php:46) in /home/p114207/www/.ru/core/cms.php on line 1770

Warning: Cannot modify header information - headers already sent by (output started at /home/p114207/www/ru/components/content/print.php:46) in /home/p114207/www/.ru/core/cms.php on line 1771
0
SJen SJen 9 лет назад #
это не ошибки, это Warning - предупреждения/предостережения
результат не получилось посмотреть?
0
Def Def 9 лет назад #
нет. это единственное что выдало на странице
0
SJen SJen 9 лет назад #
еще на одном сайте потестирую.. я только на локалке проверял, может какие-то настройки выдают 404 ошибку
0
fotpod fotpod 9 лет назад #
А для УК как адаптировать?
0
SJen SJen 9 лет назад #
да как сказать.. просто брать и код переписывать

если вы не понимаете php код - у вас не получится самостоятельно это сделать
если понимаете, то разберетесь очень быстро, только взглянув
0
Def Def 9 лет назад #
осталось только понять что у меня за ошибка вылетает)
0
Dost Dost 9 лет назад #
Не работает( Ошибка 404.
0
st.Puh st.Puh 9 лет назад #
У кого нибуть работает?Очепнь нужная вещь и не хочет работать
0
SJen SJen 9 лет назад #
я посмотрю в течение дня на живом сайте
может дело в структуре ссылок, я проверял работу на ссылках без рубрик (статьи имеют вид site.ru/123.html site.ru/465.html site.ru/789.html)
0
Dost Dost 9 лет назад #
site.ru/123.html
Так тоже не работает
0
st.Puh st.Puh 9 лет назад #
SJen:
(статьи имеют вид site.ru/123.html site.ru/465.html site.ru/789.html)
с такими урл-из корневого роздела, тоже не открывает для печати
0
st.Puh st.Puh 9 лет назад #
И что на этом все затихло?Ничто не зделал чтоб работало?
0
SJen SJen 9 лет назад #
с перепиской немного закончу и вернусь к печати, будет работать
0
vitalson9 vitalson9 9 лет назад #
Я сделал попроще и вставленно у меня по всему сайту тоесть блоги,статьи,каталоги можно вставлять хоть куда

0
st.Puh st.Puh 9 лет назад #
И что ето за реклама своего сайта,ведь запись в дневнике закрыта даже от зареганых "Пользователь ограничил доступ к этой записи дневника." и судя по названию странички "mis-runet-2011" там совсем не решения вывода на печать.
0
st.Puh st.Puh 9 лет назад #
И еще облазил ваш ресурс и даже намека не нашёл на кнопку РАСПЕЧАТАТЬ.
0
vitalson9 vitalson9 9 лет назад #


Каков писк таков и результат :)
0
Dost Dost 9 лет назад #
В статьях можно было посмотреть. Решается думаю так:
Код PHP:
<a href="/print.php" rel="nofollow" onclick="window.print(); return false"><IMG SRC="/images/print.png" title="печать страницы" WIDTH=16 HEIGHT=16 ALIGN="ABSMIDDLE" BORDER="0"></a>
У SJen интереснее)
-2
vitalson9 vitalson9 9 лет назад #
Щас открою и не какая это не реклама.
0
st.Puh st.Puh 9 лет назад #
Так у вас розпечатать хочет весь сайт с шапкой меню и тд.
-2
vitalson9 vitalson9 9 лет назад #
ну да
0
st.Puh st.Puh 9 лет назад #
Когда в файле закоментовываю строки
//if ( !$article ) { cmsCore::error404(); }
и
//if (!$article['published'] && !$is_admin && !$is_editor && !$is_author) { cmsCore::error404(); }
то тогда появляеца страница к печати только без статьи.Думаю чтото в том маленьком кусочке кода с выборкой статьи
вот скрин
0
st.Puh st.Puh 9 лет назад #
Где на скрине видно надпись Версия для печати выше должна была быть статья
0
Майкл Майкл 9 лет назад #
Проверил для 1.10.1-не работает!
0
lezginka.ru lezginka.ru 8 лет назад #
1.10.1
сообщает:
Warning: preg_replace() [function.preg-replace]: Compilation failed: invalid UTF-8 string at offset 6 in /home/tent/print.php on line 46
0
Олег Васильевич я Олег Васильевич я 8 лет назад #
вроде б работает...
+1
lezginka.ru lezginka.ru 8 лет назад #
Олег Васильевич , я сделал как написано.
положить его в папку /components/content/
Добавить в шаблон /templates/_ВАШ ШАБЛОН_/components/com_content_read.tpl

Код PHP:
  1. Warning: preg_replace() [function.preg-replace]: Compilation failed: invalid UTF-8
сообщение выдало не только мне.

yury тоже самое пишет

может чего-то конфликтует ?
0
nedoriko nedoriko 8 лет назад #
1.9 не работает. выкидывает на 404 а сверху дописывается варнинг, эрор и тд.
1,10,1 тоже не пашет. тоже 404 открывает и теже 4 варнинга.
на 1.10,3 уже и ставить пытаться не стал.
вообщем гдето не доработано или инструкция не правильная.

Еще от автора

Обновление компонента "Мне нравится"
Приветствую. Закончил версию с исправлением ошибок и багов, всем пользователям обновление выслано на электронку.
Обновление компонента  "Каталог дополнений в админку"
Приветствую. Обновление самого популярного аддона из официального каталога дополнений.
Обновленный парсер Яндекс.Карт
Приветствую Изменения довольно значительны, поэтому имеет смысл оформить их отдельным постом.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.