2016-04-29 6 views
0

作者の後ろに細いフレームワーク3と小枝テンプレートをインストールしました。 私が関数http://localhost/elec/helloo/sandeshを呼び出すと、Hello、SandeshがSlim 3のドキュメントに続きます。Slim v3とtwig(表示ページにページエラーが見つかりません)

しかし、私はビューページ(テンプレートフォルダ内に)を呼び出そうとします。

それは次のエラーのError Description

コード(関数からハロー表示し、{名前})

$app = new \Slim\App; 
$app->get('/hello/{name}', function (Request $request, Response $response) { 
    $name = $request->getAttribute('name'); 
    $response->getBody()->write("Hello, $name"); 

    return $response; 
}); 

符号誤り(ディスプレイを働いているため、アプリケーションは実行できませんでしたエラーページスリムアプリケーションエラーが表示され関数からエラーというビュー・ページ)

$settings = [ 
    'settings' => [ 
     'displayErrorDetails' => true, 
    ], 
]; 

$app = new Slim\App($settings); 

// Get container 
$container = $app->getContainer(); 

// Register component on container 
$container['view'] = function ($container) { 
    return new \Slim\Views\PhpRenderer("templates/"); 
}; 

// Render Twig template in route 
$app->get('/helloo/{name}', function ($request, $response, $args) { 
    return $this->view->render($response, 'view1.html', [ 
     'name' => $args['name'] 
    ]); 
})->setName('profile'); 

パスの詳細

elec> 
    >>cache 
    >>templates 
       >>>view1.html 
    >>vender 
    >>.htaccess 
    >>composer.json 
    >>composer.lock 
    >>index.php 

答えて

0
$app = new \Slim\App([ 
    'settings' => [ 
     'displayErrorDetails' => true, 
    ] 
]); 

// Calling twigview from controller 
$container = $app->getContainer(); 

// Register component on container 
$container['view'] = function ($container) { 
    $view = new \Slim\Views\Twig('templates/views',[ 
     'cache' => false, 
    ]); 

    $view->addExtension(new \Slim\Views\TwigExtension(
     $container->router, 
     $container->request->getUri() 
    )); 

    return $view; 
}; 

$app->get('/home', function ($request, $response) { 
    return $this->view->render($response, 'home.twig'); 
}); 
1

テンプレートの場所を渡すとき、あなたが実行しているindex.phpファイルの場所から始まる(、完全なパスを提供する必要があります。

<?php 
    $container['view'] = function ($container) { 
     return new \Slim\Views\PhpRenderer(__DIR__ . "/../path/to/templates/"); 
    }; 

はそれを試してみる、と幸運。

注:私は、同じ回線を使用したが、小枝でレンダリングしています:

<?php 
    $container['view'] = function ($container) { 
     return new \Slim\Views\Twig(__DIR__ . "/../path/to/templates/"); 
    }; 
関連する問題