رسالة فلاش في symfony 3.4

0

أحاول تعيين رسالة فلاش من ContactAction ثم إعادة التوجيه على الصفحة الرئيسية ، ولكن لا يمكنني رؤية رسالة فلاش الخاصة بي ، وربما يتم إعادة تعيين جلستي؟ هل يمكنني الحصول على بعض المساعدة ، أنا مبتدئ في Symfony.

CoreController الذي يحتوي على كل من وظائف الفهرس والاتصال:

<?php
namespace OC\CoreBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;

class CoreController extends Controller
{

    public function indexAction()
    {
        $ServiceAdverts = $this->container->get('oc_core.listAdverts');
        $adList = $ServiceAdverts->getListAdverts();

        return $this->render("OCCoreBundle:Core:index.html.twig", array(
        'listAdverts' => $adList
        ));
    }

    public function contactAction()
    {
        $this->addFlash('info', 'Contact page not ready yet !');

        return $this->redirectToRoute('oc_core_homepage');
    }
}

نموذج غصين (الصفحة الرئيسية):

{% block body %}

<div>
    Messages flash :
    {% for msg in app.session.flashBag.get('info') %}
        <div class="alert alert-success">
            {{ msg }}
        </div>
    {% endfor %}

</div>
<h2>Liste des annonces</h2>

<ul>
    {% for advert in listAdverts %}
        <li>
            <a href="{{ path('oc_platform_view', {'id': advert.id}) }}">
                {{ advert.title }}
            </a>
            par {{ advert.author }},
            le {{ advert.date|date('d/m/Y') }}
        </li>
    {% else %}
        <li>Pas (encore !) d'annonces</li>
    {% endfor %}
</ul>

<a href="{{ path('oc_core_contact') }}">Contact</a>

{% endblock %}

2 الاجابة

1
افضل جواب

أدخلت Symfony 3.3 تحسينات على رسائل الفلاش حتى يبدو قالب Twig مختلفًا. ال تم استبدال المكالمة الآن بـ .

لذلك سيكون رمز Twig الخاص بك الآن:

:مؤلف
0

جرب هذا ، يعمل معي في 3.2 و 3.4

{% for type, flash_messages in app.session.flashBag.all %}
    {% for msg in flash_messages %}
        <div class="alert alert-{{ type }}">
            {{ msg }}
        </div>
    {% endfor %}
{% endfor %}

شيء آخر هو أنه بمجرد استدعاء flashBag ، فإنه يصبح فارغًا بحيث لا يمكنك استخدامه مرتين. تحقق من الرمز الخاص بك بأنه لم يتم استدعاؤه على صفحة أخرى مباشرة قبل إعادة التوجيه الثانية ...

:مؤلف

أسئلة ذات صلة

فوق
قائمة طعام