I am passing in some variables into a controller method. However the last one is not being recognized, even though dumping the variable on the twig side confirms the variable is not null.
Controller code
/**
* @Route(name = "course_space_view", path="/courseSpace/{courseSpaceId}/about", methods={"GET", "POST"})
*
* @ParamConverter("courseSpace", class="AppBundle\Entity\CourseSpace")
* @ParamConverter("listSettings", class="AppBundle\View\ListEnrollment\ListSettings", options={"activeTab" = ListSettings::ABOUT_TAB})
*
* @param ListSettings $listSettings
* @param CourseSpace $courseSpace
* @param bool $provisionalTerm
*
* @return Response
*/
public function viewCourseSpace(ListSettings $listSettings, CourseSpace $courseSpace, bool $provisionalTerm)
{
$this->denyAccessUnlessGranted(CourseSpaceVoter::READ, $courseSpace);
return $this->render('/LandingPage/CourseSpaces/aboutCourseSpace.html.twig',
[
'courseSpace' => $courseSpace,
'listSettings' => $listSettings
]
);
}
Twig template that passes in the variables
<a class="btn btn-sm btn-light"
href="{{ path('course_space_view', {'courseSpaceId': tile.courseSpaceId, 'provisionalTerm': tile.term.provisionable}) }}">
<span class="fas fa-cog mr-1"></span>
Manage course space
</a>
.../about/{provisionalTerm}or have a ParamConverter or ArgumentResolver that fetches the value from the request's additional parameters, e.g. with something like$request->query->get('provisionalTerm')and passes it to the controller action.provisionalTermto your controller (though there's no sign of it in your controller), then how about adding?provisionalTerm={{ tile.term.provisional}}after thepath()term in your href definition.