Halen, uygulamamızda sadece index.html.twig adlı tek bir sayfamız var. İkinci bir sayfa eklemek için:
1. C:\wamp\www\mysym\app\Resources\views\myview dizini altında bulunan index.html.twig dosyasının içeriğini, açtığınız yeni bir dosya içine kopyalayın ve dosyayı urunler.html.twig adı ile kaydedin.
{# app/Resources/views/myview/urunler.html.twig #}
{% extends 'main.html.twig' %}
{% block body %}
<h1>Ürünler sayfası</h1>
{% endblock %}
2. urunler.html.twig sayfasını ekranda göstermek için kullanılacak bir Route oluşturmak için MainController.php dosyasını aşağıdaki hale getirerek kaydedin.
// src/AppBundle/Controller/MainController.php
namespace AppBundle\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
class MainController extends Controller
{
/**
* @Route("/", name="homepage")
*/
public function mainAction(Request $request)
{
return $this->render('myview/index.html.twig');
}
/**
* @Route("/urunler", name="Ürünler")
*/
public function productsAction(Request $request)
{
return $this->render('myview/urunler.html.twig');
}
}
3. Tarayıcınızın adres çubuğundan http://localhost:8000/urunler ifadesini girerek uygulamaya erişim sağladığınızda, karşınıza aşağıdakine benzer bir ekran görüntüsü gelecektir:
Her web sayfası için Controller'dan türetilen sınıf içinde bir Action fonksiyonu tanımlamak gerekiyor. Action başındaki @Route() metodunun ilk parametresi sayfaya giriş için adres çubuğunda kullanılacak değeri gösteriyor ve adres çubuğunda ana dizin yanına yazılarak (http://localhost:8000/urunler) giriş sağlanıyor.
render() metodunda parametre olarak kullanılmak üzere her web sayfası için bir şablon adı tanımlamak ve oluşturmak gerekiyor.