如何在twig模板中添加require_once('file.php')语句?

时间:2012-04-11 02:47:13

标签: php symfony twig require-once

我是这个symfony2和twig的新手,所以我对它不是很熟悉。 我需要将一个require_once(file.php)添加到mytemplate.html.twig中,但我只是不知道该怎么做! :S
问题是我必须在我的网站上添加一个社交滑块,这个滑块是用symfony2开发的 插件的要求是添加require_once(file.php)语句,以便有关如何做到的任何想法? :S 这是file.php

require_once(dirname(__FILE__) . '/common.inc.php');


DEFINE('FBLB_DEMO',true);

function fblb_slider()
{
//print_r($_REQUEST);
global $fblb_preview_options;
if (isset($_REQUEST['Preset']) && FBLB_DEMO===true && FBLB_CONFIG===0)
{
    require(dirname(__FILE__) . '/fblbconfig.inc.php');
    require_once(dirname(__FILE__) . '/config.php');
    $fblb_preview_options = array_merge((array)$fblb_options,    (array)$FBLB_Presets[$_GET['Preset']]['Options']);
}
if (isset($_REQUEST['preview']) && (FBLB_CONFIG===1 || FBLB_DEMO===true))
{
    $options = $fblb_preview_options;
}
else
{
    require_once(dirname(__FILE__) . '/config.php');
    $options = $fblb_options;
    if($options['DisableByGetParamN'] && $options['DisableByGetParamV'] && $_GET[$options['DisableByGetParamN']]==$options['DisableByGetParamV'])
    {
        return;
    }
}
if ($options['Enable'] == 1 && $options['FacebookPageURL'])
{
    require_once(dirname(__FILE__) . '/fblb_slider.php');
}
if ($options['TW_Enable'] == 1 && $options['TW_Username'])
{
    require_once(dirname(__FILE__) . '/fblb_tw_slider.php');
}
if ($options['GP_Enable'] == 1 && $options['GP_PageID'])
{
    require_once(dirname(__FILE__) . '/fblb_gp_slider.php');
}
if ($options['YT_Enable'] == 1 && $options['YT_Channel'])
{
    require_once(dirname(__FILE__) . '/fblb_yt_slider.php');
}
if ($options['LI_Enable'])
{
    require_once(dirname(__FILE__) . '/fblb_li_slider.php');
}
}
fblb_slider();

2 个答案:

答案 0 :(得分:5)

好的家伙我解决了! 首先,我必须创建枝条延伸> _>
我按照本指南http://www.solidwebcode.com/web-development/twig-extensions-symfony-2/或西班牙语http://facultia.com/blog/2011/08/08/extensiones-personalizadas-twig-proyectos-symfony2/的这个指南 我用了

Twig_Function_Method($this, 'your_method_name')  

而不是过滤器,它运作良好!之后我只给了脚本执行权限,那就是它= D !!在twig模板中,您可以使用这样的方法

{{ your_method_name(your_params) }}

感谢所有试图帮助的人! = d

答案 1 :(得分:1)

简答:您不能在树枝模板中包含PHP代码。

我没有仔细查看您发布的代码,但您可能希望使用嵌入式控制器来包装滑块。

通读:

http://symfony.com/doc/current/book/templating.html

特别是关于嵌入式控制器的部分。嵌入式控制器将包含myfile.php文件,捕获滑块生成的html / js代码(这是我假设的),然后返回它。