Если у вас возникли какие либо вопросы которые вы не смогли решить по нашим публикациям самостоятельно,
то ждем ваше обращение в нашей службе тех поддержки.
Наверх
то ждем ваше обращение в нашей службе тех поддержки.
Как известно, поисковые машины любят и хорошо индексируют контент в формате 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");
?>
Готово!
Назад в раздел
Подписаться на новые материалы раздела:
Загрузка...
Наверх