Создание файла RTF с пользовательским модулем Drupal

Я хочу иметь возможность передать идентификатор узла в путь и создать файл RTF. У меня проблемы с загрузкой библиотеки. Я использую метод библиотек 2. Ошибка:

PHP Fatal error: Class 'PHPRtfLite' not found in [redacted]/sites/all/modules/custom/ain_export/ain_export.module on line 22 request_id="245a0131-9519-4fa9-a512-3b60d0b91ad8"

Поэтому я убедился, что файлы находятся там, где они должны быть. В моем каталоге / sites / all / library у меня есть папка phprtflite, настроенная так:

-- phprtflite
----PHPRtfLite.php

Ниже мой код, теперь отредактированный в соответствии с комментарием ниже, чтобы загрузить библиотеку внутри моего обратного вызова. Я все еще получаю сообщение об ошибке, за исключением того, что теперь в строке 41. Кажется, не загружается библиотека?

<?php

/**
* Implements hook_libraries_info().
*/
function ain_export_libraries_info() {
$libraries['phprtflite'] = array(
'name' => 'PHPRtfLite',
'vendor url' => 'http://sourceforge.net/projects/phprtf/',
'download url' => 'http://sourceforge.net/projects/phprtf/',
'files' => array(
'php' => array('PHPRtfLite.php'),
),
);
return $libraries;
}/**
* Implements hook_menu().
*/
function ain_export_menu() {
$items = array();
$items['admin/ain_export/%'] = array(
'title' => 'Export Node',
'page callback' => 'ain_export_page',
'page arguments' => array(2),
'access arguments' => array('access administration pages'),
);

return $items;
}

// spit out node
function ain_export_page($nid) {

// load library
libraries_load('phprtflite');

// register PHPRtfLite class loader
PHPRtfLite::registerAutoloader();

if (isset($nid) ) {
try {

$rtf = new PHPRtfLite();

// set page properties
$rtf->setMargins(2.54, 2.54, 2.54, 2.54);
$rtf->setPaperFormat(PHPRtfLite::PAPER_LETTER);

// define fonts
$fontH1 = new PHPRtfLite_Font(16, 'Arial', '#000000');
$fontH2 = new PHPRtfLite_Font(14, 'Arial', '#000000');
$fontP = new PHPRtfLite_Font(12, 'Arial', '#000000');

// vertical space
$formatH1 = new PHPRtfLite_ParFormat();
$formatH1->setSpaceAfter(8);
$formatH2 = new PHPRtfLite_ParFormat();
$formatH2->setSpaceAfter(6);
$formatP = new PHPRtfLite_ParFormat();
$formatP->setSpaceAfter(3);

// page content
$node = node_load($nid); // load the node

// headline
$section = $rtf->AddSection();
$section->writeText($node->title, $fontH1, $formatH1);// output file
$rtf->SendRtf( $nid . '.rtf' );} catch (Exception $e) {
$error = $e->getMessage();
}
}

}

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]