2012-04-11 131 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