Symfony ile Yönlendirme Sorunu

1 Cevap php

Yani makaleleri görüntüleyen bir modülü var. Ve ben o yayın tıklandığında belli bir yayının tüm makaleyi görüntülenen eylemi yapmaya çalıştım. Ben Symfony jobeet öğreticiler bunu yapmak için yolu takip çalıştı ama ben bazı yeni baş ağrısı koştu. Yayınlar ve yazarlar bazen url düşmanca olabilir bu yana, ben salyangozlar kullanmak istiyorum, ve ben sorun koştu yerdir.

Yani bir makale modülü var ve ben böyle bir yönlendirme kuralı eklendi

publication_articles:
  url:  /publications/:publication_slug
  class: sfDoctrineRoute
  param: { module: article, action: publication }
  options: { model: Article, type: list }

Özel bir şey - Ben o boşluk ve özel karakterler çıkardı makale sınıfa getPublicationSlug () fonksiyonu eklendi.

Sonra eylem sınıfına bu fonksiyonu eklendi:

  public function executePublication(sfWebRequest $request)
  {
      $this->articles = $this->getRoute()->getObjects();
  }

Böyle bir bağlantı eklemeyi deneyin zaman:

<a href="<?php echo url_for('publications/'.$article->getPublicationSlug()) ?>"><?php echo $article->getPublication() ?></a>

Sayfa yayın üzerinde herhangi bir filtreleme olmadan tüm makaleleri döndürür

ve ben böyle bir bağlantı eklerseniz:

<?php echo link_to($article->getPublication(), 'publication_articles', $article) ?>

Ben bu hatayı alıyorum:

The "/publications/:publication_slug" route has some missing mandatory parameters (:publication_slug).

Herhangi bir fikir? Çok teşekkürler!

1 Cevap

(('My_route', $ obj) url_for) Symfony kılavuzları başvurulan bağlama nesnesi benim için düzgün çalıştı olmamıştı. Bunun yerine her zaman doğrudan parametre ekleme kullanarak benim yolları üretmek yerine, bu deneyin:

<?php echo link_to($article->getPublication(), '@publication_articles?publication_slug=' . $article->getPublicationSlug()) ?>