Если у вас возникли какие либо вопросы которые вы не смогли решить по нашим публикациям самостоятельно,
то ждем ваше обращение в нашей службе тех поддержки.
то ждем ваше обращение в нашей службе тех поддержки.
Как известно, поисковые машины любят и хорошо индексируют контент в формате PDF. Да и посетители сайтов при возможности охотно сохраняют страницы сайтов в этом формате, чтобы затем изучить на досуге. Разумеется, на это есть встроенные функции языка PHP. Но как увязать их с CMS «Битрикс»?
1. Подключаем библиотеку mPDF
Скачиваем библиотеку mPDF, затем распаковываем и копируем в коренной каталог сайта.
2. Создаем обработчик для создания файла PDF
Создаем обработчик, который будет автоматически выводить в PDF элемент инфоблока
3. Создаем обработчик для удаления ненужного файла
После удаления элемента инфоблока соответствующий ему файл PDF надо удалить, чтобы не вводить в заблуждение людей и роботов. Для этого используем код:
4. Подключаем обработчики
В файле init.php подключаем оба обработчика
Готово!
Назад в раздел
1. Подключаем библиотеку mPDF
Скачиваем библиотеку mPDF, затем распаковываем и копируем в коренной каталог сайта.
2. Создаем обработчик для создания файла PDF
Создаем обработчик, который будет автоматически выводить в PDF элемент инфоблока
function IBlockAfterSave($arFields) { require($_SERVER["DOCUMENT_ROOT"]."/MPDF57/mpdf.php"); if(!CModule::IncludeModule("iblock")) return; $res = CIBlockElement::GetByID($arFields['ID']); if($ar_res = $res->GetNext()){ $HTML = " <div class=\"post-pdf\"> <h1>$ar_res[NAME]</h1> <div class=\"post-pdf-text\">$ar_res[DETAIL_TEXT]</div> </div>"; $HTML = iconv('cp1251', 'utf-8', $HTML); $PDF_NAME = $arFields['ID'].".PDF"; $BE_DIR = $_SERVER["DOCUMENT_ROOT"]."/".COption::GetOptionString("main", "upload_dir")."/pdf/"; $mpdf=new mPDF(); $mpdf->SetHeader($ar_res["DATE_CREATE"].'|{PAGENO}|Блог WEB программиста'); $mpdf->SetFooter('|{PAGENO} | http://'.COption::GetOptionString("main", "server_name").$ar_res["DETAIL_PAGE_URL"]); $mpdf->WriteHTML($HTML); $mpdf->Output($BE_DIR.$PDF_NAME,"F"); } }
3. Создаем обработчик для удаления ненужного файла
После удаления элемента инфоблока соответствующий ему файл PDF надо удалить, чтобы не вводить в заблуждение людей и роботов. Для этого используем код:
<? AddEventHandler("iblock", "OnBeforeIBlockElementDelete", "IBlockBeforeDel"); function IBlockBeforeDel($ID) { if(file_exists($_SERVER["DOCUMENT_ROOT"]."/".COption::GetOptionString("main", "upload_dir")."/pdf/".$ID.".PDF")) unlink($_SERVER["DOCUMENT_ROOT"]."/".COption::GetOptionString("main", "upload_dir")."/pdf/".$ID.".PDF"); } ?>
4. Подключаем обработчики
В файле init.php подключаем оба обработчика
<?php AddEventHandler("iblock", "OnAfterIBlockElementUpdate", "IBlockAfterSave"); AddEventHandler("iblock", "OnAfterIBlockElementAdd", "IBlockAfterSave"); ?>
Готово!
Назад в раздел
Подписаться на новые материалы раздела: