Ricky
Ricky

Reputation: 3

"Variable "form" does not exist." Symfony

Trying to make a simple form but i keep getting "Variable "subscriptionForm" does not exist."

enter image description here

Here is Controller method:

public function subscriptionForm(Request $request):             \Symfony\Component\HttpFoundation\RedirectResponse|array
{
    $subscriptionForm = $this
        ->getFactory()
        ->createSubscriptionForm()
        ->handleRequest($request);

    if ($subscriptionForm->isSubmitted() && $subscriptionForm->isValid()) {
        // Call the client for e.g. to save the subscriber.
    
        // Redirect to home page after successful subscription
        return $this->redirectResponseInternal('home');
    }
    
    return $this->viewResponse([
        'subscriptionForm' => $subscriptionForm->createView(),
    ]);
}

Twig file:

{% block body %}
    {{ form_start(subscriptionForm) }}
    {{ form_widget(subscriptionForm.email) }}
    {{ form_errors(subscriptionForm.email) }}
    <input type="submit" value="Subscribe" />
    {{ form_end(subscriptionForm) }}
{% endblock %}

Upvotes: 0

Views: 172

Answers (1)

Herbert Scheffknecht
Herbert Scheffknecht

Reputation: 631

Spryker assigns all twig variables within a _view object. Try adding these code on top of the twig file:

{% define data = {
    subscriptionForm: _view.subscriptionForm
} %}

Upvotes: 0

Related Questions