Blog detay sayfası görünümü için oluşturulacak urlnin şu şekilde olacağını varsayalım: /blog/{blog_id}
Yani 1 id li blog için blog detay sayfası "/blog/1" şeklinde olmalıdır.
Bunun için daha önce hazırladığımız "Görüntülenebilir Sorgu" da bulunan Sonuç alanlarına blog tablosunun ID kolonunu da ekliyoruz.
Twig dosyasında bulunan linki aşağıdaki gibi değiştiriyoruz:
BASE_URL: Uygulamanın çalıştığı dizini yani public_html dizinini ifade eder.
Buton isminde çeviri kullandığımız için "view" anahtarı için İngilizce -> View, Türkçe -> Görüntüle çevirisini ekliyoruz.
/blog linki App\Controller\BlogController tarafından kontrol edildiği için bu sınıfın üzerinde değişiklik yapacağız.
Controller sınıflarında "$this->arguments" ile ifade edilen değer url üzerinde Controller yolundan sonra verilen parametreleri ifade eder.
Burada BlogController için yol "/blog" dur. "/blog/1" şeklinde bir url oluşması durumunda arguments dizisinin 0 indisi 1 olur. / ile ayrılan diğer url parametreleri de sırayla arguments dizine eklenir.
Eğer url üzerinden blog ID si belirtilmiş ise bu ID ye sahip blog kaydı veritabanından okunur. Blog kaydı bulunmaması durumunda Router kullanılarak 404 "bulunamadı" sayfası yüklenir.
Eğer bulunmuş ise sayfanın başlığı blog başlığı olarak ayarlanır.
echoContent metodunda da eğer blog yüklenmiş ise blog un body alanı sayfada yazdırılır, yoksa blog arama formu gösterilir.
Bu şekildeki kod yapısında sayfanın görüntülenmesi halinde blog gövde gösterimi kapsayıcı kart ile çok bitisik olacaktır. Biraz girinti vermek için echoContent metodu şu şekilde değiştirilebilir:
Son durumda listeleme sayfasının görünümü aşağıdaki gibidir:
Blog detay sayfasının görünümü ise şu şekildedir: