2016-04-14 4 views
0

Я хочу показать файл шаблона (ajax include) с переменной из контроллера. Я хочу создать простой крикет.Phalcon Template «Неопределенная переменная» (задана переменная)

среда

развития:

PHP версии 5.6.19 (XAMPP)

Phalcon 2.1.0r (PHP с-вн)

для Windows 10

IDE Netbeans

Это включает в себя: (работает)

$("#shoutbox_messages").load("{{ static_url("shoutbox/getshouts") }}");

Это моя функция управления (приложение/контроллеры/ShoutboxController.php):

public function getshoutsAction() { 

    $shouts = $this->di->getModelsManager() 
      ->createBuilder() 
      ->columns(array('Shouts.*', 'Users.name')) 
      ->from('Shouts') 
      ->join('Users') 
      ->orderBy('Shouts.created_at DESC') 
      ->getQuery() 
      ->execute() 
      ->toArray(); 


    $this->view->setRenderLevel(\Phalcon\Mvc\View::LEVEL_LAYOUT); 


    $this->view->setVar("shouts", $shouts); 

    } 

Это мой вид файла (приложение/просмотров/Рупор/getshouts.twig):

{% for shout in shouts %} 



<div class="panel panel-default"> 
    <div class="panel-heading"> 
     <h3 class="panel-title">{{ shout.name }}</h3> 
    </div> 
    <div class="panel-body"> 
     {{ shout.shouts.text }} 
    </div> 
</div> 

{% ENDFOR%}

(расширение веточка файла устанавливается . Как расширение файла вольтового двигателя)

Эта точка зрения является часть файла макета (входит в основной раскладке):

{# Shoutbox #} 
 

 
<div id="flash_sb"></div> 
 
{% include "shoutbox/shoutform.twig" %} 
 

 
<hr/> 
 
<div id="shoutbox_messages"> 
 
{% include "shoutbox/getshouts.twig" %} 
 

 
</div>

Я не знаю, почему я получаю ошибка при включить этот файл:

Примечание: Undefined переменной: крики (в приложение/просмотров/Рупор/getshouts.twig)

Когда я использую только контроллер/действие (http://myurl/shoutbox/getshouts), он работает. У меня есть доступ к переменной «крики».

Я не понимаю, почему это работает, когда я использую http://myurl/shoutbox/getshouts, но в макете нет «криков» var.

Если вам нужна дополнительная информация, скажите мне, пожалуйста.

Я надеюсь, что кто-то скажет мне, что случилось.

+0

вы уверены, что вложенные «орет» свойство в вашем «рупор» объект здесь: {{shout.shouts.text}}? выглядит как ошибка для меня. также, номер строки, где произошла ошибка, была бы полезна. –

ответ

0

Вы можете должны пройти ВАР с использованием with вроде:

{% include "shoutbox/getshouts.twig" with ['shouts': shouts] %} 
Смежные вопросы