Я работаю над проектом Symfony2, но этот вопрос, вероятно, по-прежнему относится только к простому php. Я все еще очень учусь.
У меня есть URL, который должен понравиться website.com/2014/fall/other
. В шаблоне шаблона symfony у меня есть ссылки как website.com/{{ allSemesters }}/other
Переменные, которые я передаю, - это
$allSemesters=array("Fall 2014", "Spring 2015", "Summer 2015");
Это в моем шаблоне.
{% for allSemester in allSemesters %}
<a href="{{ allSemester }}/other">{{ allSemester | capitalize }}</a>
{% endfor %}
Результирующие ссылки, которые переходят на сайт: website.com/Spring%202015/other
а не website.com/2015/Spring/other
.
Любой способ перенастроить мой массив или разбить переменную как-нибудь, чтобы получить желаемый URL-адрес? Спасибо заранее!
Вы можете использовать фильтр замены twig
<a href="{{ allSemester |replace({' ': "/"}) }}/other">
"Способ Symfony" должен был бы использовать path() для вычисления маршрута с учетом параметра "сезон" и "год"
Используя.yml routing, я бы сделал что-то вроде этого:
semester_other:
pattern: /{year}/{semester}/other/
defaults: { _controller: "AppBlablaBundle:Semester:other", year: null, semester: null}
И контроллер:
public function otherAction($year, $semester) {
}