2017-03-15 5 views
0

私は数日前にこの質問をし、おそらく私は本当によく自分自身を説明しません。小枝に変数を送る方法

私はSilex2を使用しようとしているので、私は私の最初のページを作成するドキュメント内のコードをコピーしてください。 Iルート//homeで同じコードを使用するが、これ/ため私は

{% extends "arche/layout.html.twig" %} 

{% block content %} 
<br /><br /><br /><br /><br /> 

{{ global.request }} 
    <h1>{{ pg_cnt.temp }}</h1> 
    <h1>{{ pg_cnt.name|default('default titi') }}</h1> 


<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> 
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> 
{% endblock %} 

index.html.twig

のindex.php

require_once __DIR__.'/../vendor/autoload.php'; 

$app = require __DIR__.'/../src/app.php'; 
require __DIR__.'/../config/dev.php'; 
require __DIR__.'/../src/controllers.php'; 

$pg_cnt['temp'] = 'Welcome !'; 
$pg_cnt['name'] = 'tutu'; 

$app->get('/', function() use ($app, $pg_cnt) { 
    return $app['twig']->render('index.html.twig', array(
     'pg_cnt' => $pg_cnt, 
    )); 
}); 

$app->get('/home', function() use ($app, $pg_cnt) { 
    return $app['twig']->render('index.html.twig', array(
     'pg_cnt' => $pg_cnt, 
    )); 
}); 
$app->run(); 

エラー:

index.html.twigのTwig_Error_Runtime行7:変数 "pg_cnt"は が存在しません。

/homeはすべて動作します。

ここで何が起こっているのか分かりません。 私はsilex-skeleton

答えて

0

あなたのコードがそのまま動作しない、多分にそれを切り替えるようにしてください使用しています:私がしようと

<?php 
    require_once __DIR__.'/../vendor/autoload.php'; 

    $app = require __DIR__.'/../src/app.php'; 
    require __DIR__.'/../config/dev.php'; 
    require __DIR__.'/../src/controllers.php'; 

    $pg_cnt['temp'] = 'Welcome !'; 
    $pg_cnt['name'] = 'tutu'; 

    $func = function() use ($app, $pg_cnt) { 
     return $app['twig']->render('index.html.twig', array(
      'pg_cnt' => $pg_cnt, 
     )); 
    }; 

    $app->get('/', $func); 
    $app->get('/home', $func); 

    $app->run(); 
+0

、私は :-)とにかく おかげ:-(変化なしまだ検索しています... – PaddyF

+0

@PaddyF奇妙なコードはうまくいくはずです。小さな[サンドボックス](http://darkbee.be/web/stack.php/) – DarkBee

+0

私はあなたのサンドボックスを試して、それは動作します!私は自分のコードで変更する必要があるものを見ていないのを除いて、それはうまくいくでしょうか? 私は小枝の宣言を変更しようとしました(スケルトンのすべての行をコメントし、同じ場所にあなたのものを追加します)。 エラー: 'Twig_Error_Loader in Chain.php 86: テンプレート「index.html.twig」が定義されていません。 明確にするには、/ homeはまだ完全に動作しています – PaddyF