2012-04-11 6 views
1

Ich bin neu in diesem symfony2 und Zweig, also bin ich nicht sehr vertraut damit. Ich muss eine require_once (file.php) in eine mytemplate.html.twig einfügen, aber ich weiß einfach nicht wie ich das machen soll !! : S
Die Sache ist, dass ich einen sozialen Schieberegler zu meiner Website hinzufügen muss, die mit symfony2 entwickelt wird.
Die Anforderung des Plugins ist, die require_once (file.php) -Anweisung hinzuzufügen, damit Sie Ideen dazu bekommen? : S Dies ist die file.phpWie fügt man eine require_once ('file.php') Anweisung in Zweigvorlagen hinzu?

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

Nun, was ist der Code für den Slider? Ist es ein komplexes Skript oder ist es nur HTML mit wenigen PHP-Variablen? – prodigitalson

+0

Der Slider bietet eine Menge PHP-Dateien, aber ich muss nur die require_once für eine einzige PHP-Datei hinzufügen, die den Slider auf der Website – JhovaniC

+0

BTW das Skript, das ich brauche, hat eine Menge von erfordert und einige Funktionen – JhovaniC

Antwort

4

Ok Leute, ich habe es gelöst !!! Zuerst hatte ich den Zweig Erweiterung erstellen> _>
ich diese Führung http://www.solidwebcode.com/web-development/twig-extensions-symfony-2/ oder diesem einen I

Twig_Function_Method($this, 'your_method_name') 

Statt Filter verwendet in Spanisch http://facultia.com/blog/2011/08/08/extensiones-personalizadas-twig-proyectos-symfony2/
folgen und es hat gut funktioniert !! Danach gab ich dem Skript nur die Ausführungsgenehmigung und das war es = D !! In der Zweig Vorlage verwenden Sie Ihre Methode wie folgt

{{ your_method_name(your_params) }} 

Vielen Dank an alle, die versucht haben zu helfen !!! = D

+1

Können Sie einen Beispielcode angeben? Ich brauche das gleiche - rufen Sie PHP require_once innerhalb Zweig Vorlage und ich kann nicht herausfinden, wie man diese – nKognito

+0

gut implementieren, was Sie brauchen, ist eine Zweig-Erweiterung, versuchen Sie die Anleitungen und wenn Sie nicht können, werde ich den Code hier veröffentlichen. – JhovaniC

+0

Danke, schon erledigt) – nKognito

-7

Versuchen include() statt für require_once()

Weil Sie gerade Ihren sozialen Schieber aufzunehmen direkt auf Ihre Webseite wolltest.

+0

{{include ('myfile.php')}} gibt mir eine die Funktion nicht existiert {% include 'myfile.php'%} gibt mir eine Unable die Vorlage zu finden – JhovaniC

+0

@JhovaniC Was eigentlich in Ihrer myfile.php gehalten ?? Ist es eine Vorlage? Kannst du die myfile.php posten? –

1

Kurze Antwort: Sie können PHP-Code nicht in eine Zweigvorlage einfügen.

Ich habe Ihren geposteten Code in keinem echten Detail angeschaut, aber Sie werden wahrscheinlich einen eingebetteten Controller verwenden wollen, um Ihren Slider zu umhüllen.

durch dieses Lesen:

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

Insbesondere die auf eingebetteten Controller Abschnitt. Es liegt an Ihrem Embedded-Controller, die Datei myfile.php einzuschließen, den erzeugten html/js-Code des Schiebereglers zu erfassen (was ich davon ausgehe) und ihn dann zurückzugeben.

+0

Danke, aber stattdessen habe ich eine Zweigverlängerung benutzt. Die Sache ist, dass die offizielle Dokumentation darüber nicht detailliert ist, also musste ich nach einem externen Führer suchen xD Aber alles läuft gut! – JhovaniC

Verwandte Themen