эхо не работает внутри переменной

В настоящее время у меня странная (ну, для меня) проблема с PHP. Я работаю с dompdf и, таким образом, присваиваю выходной HTML переменной $ output следующим образом:

function ppt_pdf_output() {

// post-ID of referring page needed
$post       = get_post($_POST['postid']);
$category   = get_the_category($_POST['postid']);
$test       = 'Test!';

$output = '<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>'.$post->post_title.'</title>
<style>
@page {
    margin: 200px 50px 80px 50px;
}

/* more styles */
</style>
</head>
<body>Some content and HTML';
$output .='<table id="contact">Some more HTML and text'. echo $test .'</h1>
<div id="content">' .
    apply_filters('the_content',$post->post_content) . '</div>';
$output .= '</body></html>';

return $output;
}

Чего я не получаю: переменные Wordpress прекрасно отображаются в сгенерированном PDF-файле, но как только я хочу отобразить пользовательскую переменную (например, $test в этом примере), я просто получаю пустую страницу (не пустой PDF-файл, но я даже не могу его сгенерировать).

Я предполагаю, что на самом деле это не проблема, связанная с dompdf, а связанная с PHP, но я слишком новичок, чтобы понять, что я делаю неправильно, поэтому любая помощь будет принята с благодарностью.

С уважением
Олли


person user1079373    schedule 06.03.2014    source источник


Ответы (1)


Если вы говорите об этой строке

$output .='<table id="contact">Some more HTML and text'. echo $test .'</h1>
<div id="content">' .

вам не нужно делать эхо, вы можете конкатенировать как

$output .='<table id="contact">Some more HTML and text'. $test .'</h1>
<div id="content">' . 
person Abhik Chakraborty    schedule 06.03.2014
comment
Вы можете конкатенировать, вероятно, недостаточно сильно, потому что PHP выдает ошибку и в противном случае прекращает выполнение (что он и видит). - person Mordred; 07.03.2014