Переменная PHP не распознается в коде пагинации DOMPDF

Я использую DOMPDF, чтобы позволить пользователям сохранять отдельные страницы в формате PDF.

Это двуязычный веб-сайт (немецкий / английский). На вершине body В теге сгенерированной страницы я использую следующий код (в основном, скопированный из файлов примеров dompdf), который содержит условие if / else для генерации автоматических номеров страниц в верхней части каждой страницы на немецком или английском языках:

<script type="text/php">
if ( isset($pdf) ) {
// v.0.7.0 and greater
$x = 36;
$y = 24;
if($lang == "de") {
$text = "Seite {PAGE_NUM} von {PAGE_COUNT}";
} else {
$text = "page {PAGE_NUM} of {PAGE_COUNT}";
}
$font = $fontMetrics->get_font("helvetica", "regular");
$size = 6;
$color = array(0,0,0);
$word_space = 0.0;  //  default
$char_space = 0.0;  //  default
$angle = 0.0;   //  default
$pdf->page_text($x, $y, $text, $font, $size, $color, $word_space, $char_space, $angle);
}
</script>

Таким образом, вывод должен быть либо «Seite X von X», либо «page X of X», в зависимости от значения $lang,

До этого я определяю $lang переменная в зависимости от настроек браузера пользователя с похожим условием if / else как «de» (немецкий) или «en» (английский, если язык браузера НЕ немецкий) и использует это как условие для определения, выводится ли содержимое на немецком или английском.

Далее в коде это работает как задумано (используя условия PHP). Только автоматическое разбиение на страницы в приведенном выше коде, похоже, не распознает $lang переменная — вывод всегда на английском языке.

Но это является напечатан, который показывает, что код PHP анализируется.

Мой вопрос: почему $lang переменная не узнал в этой части кода, и что я мог сделать, чтобы это работало?

0

Решение

Благодаря двум комментариям @Nick и @proprit меня привели к проблеме объем — вот что вызвало проблему. Я узнал, что если я добавлю global $lang; до состояния, он работает правильно. Итак, код должен быть:

<script type="text/php">
if ( isset($pdf) ) {
// v.0.7.0 and greater
$x = 36;
$y = 24;
global $lang;/* this is the only thing I added */
if($lang == "de") {
$text = "Seite {PAGE_NUM} von {PAGE_COUNT}";
} else {
$text = "page {PAGE_NUM} of {PAGE_COUNT}";
}
$font = $fontMetrics->get_font("helvetica", "regular");
$size = 6;
$color = array(0,0,0);
$word_space = 0.0;  //  default
$char_space = 0.0;  //  default
$angle = 0.0;   //  default
$pdf->page_text($x, $y, $text, $font, $size, $color, $word_space, $char_space, $angle);
}
</script>

Спасибо за помощь!

0

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

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

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector