4

レンダリングされたアクションでプロパティ「html」を持つjsonオブジェクトを返す必要があります。Phalcon vew をネイティブに使用することは可能ですか?

例:

$posts = NewsPost::find(['limit' => 10]);
$view = new Phalcon\Mvc\View();
$view->setVar('posts', $posts);
$view->setMainView('news/posts'); // not sure if this is correct

// retrieve some data ...
$response = [
    'html' => $view->render(),
    'somedata' => 'somevalues',
    ....
];

PS phalcon php フレームワークに関する質問: http://docs.phalconphp.com/en/latest/api/Phalcon_Mvc_View.html

4

5 に答える 5

7

最初に出力バッファリングを開始する必要があります。

$view = new Phalcon\Mvc\View();

$view->setVar('posts', $posts);

$view->start();
$view->render(); //Pass a controller/action as parameters if required
$view->finish();

// retrieve some data ...
$response = [
    'html' => $view->getContent(),
    'somedata' => 'somevalues',
    ....
];
于 2012-12-16T19:51:31.527 に答える
1

これを試して

$posts = NewsPost::find(['limit' => 10]);
$view = new \Phalcon\Mvc\View();
$view->setRenderLevel(\Phalcon\Mvc\View::LEVEL_LAYOUT);
$view->setVar('posts', $posts);
$viewData = $view->render('news', 'posts');

// retrieve some data ...
$response = [
    'html' => $viewData,
    'somedata' => 'somevalues',
    ....
];
于 2012-12-16T16:29:03.800 に答える
0
$view = new Phalcon\Mvc\View();

$view->setVar('posts', $posts);

$view->start();
$view->render(); //Pass a controller/action as parameters if required
$view->finish();

// retrieve some data ...
$response = [
    'html' => $view->getContent(),
    'somedata' => 'somevalues',
    ....
];

使用することを忘れないでください

$view->setViewsDir(APP_PATH . '/app/views/');

そうしないと、空の文字列が返される可能性があります。

于 2016-05-18T14:16:47.517 に答える