Как включить PHP-файлы в Twig-файлы в Symfony2 - PullRequest
2 голосов
/ 31 августа 2011

Я пытаюсь вставить последний виджет "твиты" в проект Symfony2. Я нашел идеальный скрипт, написанный на PHP, который отлично справился бы с работой.

Однако я не знаю, где лучше всего разместить сторонние PHP-файлы в проекте Symfony2. Я поместил их в ту же папку, в которой находятся все мои файлы веток, изменил имя на «tweets.php.twig» и даже поместил их в веб-папку. Когда я пытаюсь включить файл в файл ветки, для которого требуется канал Twitter, появляется сообщение об ошибке, в котором говорится, что он не может найти файл.

Есть ли у меня правильная идея, или мне нужно преобразовать PHP в файл ветки или записать PHP-скрипт в контроллер?

1 Ответ

3 голосов
/ 31 августа 2011

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

Если это слишком сложно или вы хотите что-то более быстрое и грязное - вы можете создать контроллер, такой как TweetWidgetController.php, и поместить код втам как действие, как виджет действий.Просто убедитесь, что вы возвращаете вывод виджета твита в объекте ответа Symfony.

Затем с вашего основного контроллера - вы можете сделать что-то вроде

$widget = $this->forward('YourBundle:TweetWidget:widget', array('twitterid' => 'yourtwitterid'));

return $this->render('YourBundle:yourtemplate.html.twig',array('widget' => $widget->getContent()));

Теперь в вашем шаблоне ветки вы можете поместить его в любое место, сославшись на:

{{ widget }}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...