簡體   English   中英

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

[英]How to add a require_once('file.php') statement in twig templates?

我是這個 symfony2 和 twig 的新手,所以我對它不是很熟悉。 我需要將 require_once(file.php) 添加到 mytemplate.html.twig 中,但我不知道該怎么做:! :S
問題是我必須在我的網站上添加一個社交 slider,該網站正在使用 symfony2 開發。
該插件的要求是添加 require_once(file.php) 語句,那么關於如何做到這一點有什么想法嗎? :S 這是文件.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();

好吧,我解決了! 首先我必須創建 twig 擴展 >_>
我遵循本指南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

簡短回答:您不能在 twig 模板中包含 PHP 代碼。

我沒有仔細查看您發布的代碼,但您可能希望使用嵌入式 controller 來包裝您的 slider。

通讀這個:

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

特別是關於嵌入式控制器的部分。 包含 myfile.php 文件、捕獲滑塊生成的 html/js 代碼(這是我假設它所做的)然后返回它取決於您的嵌入式 controller。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM