2012-04-11 57 views
1

我是新来的这个symfony2和树枝,所以我不是很熟悉它。 我需要将一个require_once(file.php)添加到mytemplate.html.twig中,但我不知道该怎么做! :S
问题是,我必须添加一个社交滑块到我的网站正在与symfony2开发。
插件的要求是添加require_once(file.php)语句,所以有关如何做到这一点的任何想法? :S 这是file.php如何在树枝模板中添加require_once('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(); 
+0

那么滑块的代码是什么?它是一个复杂的脚本,还是只有几个PHP变量的HTML? – prodigitalson 2012-04-11 03:02:47

+0

滑块提供了大量的php文件,但我只需要添加require_once为一个PHP文件,它将添加滑块到网站 – JhovaniC 2012-04-11 04:00:57

+0

顺便说一句,我应该要求的脚本有很多要求和一些功能 – JhovaniC 2012-04-11 04:14:43

回答

4

好吧,我解决了它! 首先,我不得不创建树枝延伸> _>
我按照本指南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!在树枝模板你使用你的方法这样的

{{ your_method_name(your_params) }} 

感谢大家试图帮助! = D

+1

你能举一个例子代码吗?我需要同样的东西 - 调用PHP的require_once里面的树枝模板,我不知道如何实现这个 – nKognito 2012-06-16 11:11:27

+0

以及你需要的是一个树枝扩展,试试指南,如果你不能,我会在这里发布代码。 – JhovaniC 2012-06-17 16:38:07

+0

谢谢,已经完成) – nKognito 2012-06-18 02:57:32

-7

尝试,而不是为include()require_once()

因为你只是想包括你的社会滑块到您的网站。

+0

{{include('myfile.php')}}给我一个函数不存在{%include'myfile.php'%}给我一个无法找到模板 – JhovaniC 2012-04-11 04:51:27

+0

@JhovaniC实际上在myfile.php中保存了什么?它是一个模板吗?你可以发布myfile.php吗? – 2012-04-11 05:32:48

1

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

我没有详细查看您的发布代码,但您可能想要使用嵌入式控制器来封装您的滑块。

通读此:

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

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

+0

谢谢,但相反,我用了树枝的延伸。事情是关于它的官方文档,不详细,所以我不得不寻找一个外部指导xD但一切运行良好! – JhovaniC 2012-04-11 21:10:31