Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony]FosuserBundle formularz logowania na każdej stronie
Forum PHP.pl > Forum > PHP > Frameworki
lobopol
Powoli wdrażam się w symfony2 i przeróżne bundle. W tym momencie nieco się zaciąłem na FOSUserBundle, a mianowicie chciałbym dodać na każdej stronie oprócz strony logowania mini formularz logowania podobny w działaniu do tego na forum.

Wiem jak nadpisać bazową templatke wszystkich formularzy z bundla

Układ templatek
Kod
MyBundle
Resources
   views
    Default
      menu.twig.html
    base.html.twig
    layout.html.twig


layout.html.twig
  1. {% extends 'MyBundle::Base.html.twig' %}
  2.  
  3. {% block content %}
  4. {% block fos_user_content %}{% endblock %}
  5. {% endblock %}


base.html.twig
  1. <!DOCTYPE html>
  2. <!--[if lt IE 7]>
  3. <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
  4. <!--[if IE 7]>
  5. <html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]-->
  6. <!--[if IE 8]>
  7. <html class="no-js lt-ie9" lang="en"> <![endif]-->
  8. <!--[if gt IE 8]><!-->
  9. <html class="no-js" lang="pl"> <!--<![endif]-->
  10. <meta charset="utf-8"/>
  11. <meta name="viewport" content="width=device-width"/>
  12. <title>{% block title %}{% endblock %}</title>
  13. <meta name="description" content="{% trans %}description{% endtrans %}"/>
  14. {% block css %}
  15. {% stylesheets '@MyBundle/Resources/css/*' output='public/css/style.css'%}
  16. <link href="{{ asset_url }}" type="text/css" rel="stylesheet"/>
  17. {% endstylesheets %}
  18. {% endblock %}
  19. </head>
  20.  
  21. <header class="row">
  22. {% include 'MyBundle:Default:menu.html.twig' %}
  23. </header>
  24.  
  25.  
  26. <div class="row">
  27.  
  28. <div class="twelve columns" role="content">
  29. {% block content %}
  30. {% endblock %}
  31. </div>
  32.  
  33. </div>
  34.  
  35. {% block footer %}
  36. <footer class="row">
  37. <div class="twelve columns">
  38. <hr/>
  39. <div class="row">
  40. <div class="six columns">
  41. <p>&copy; Copyright no one at all. Go to town.</p>
  42. </div>
  43. </div>
  44. </div>
  45. </footer>
  46. {% endblock %}
  47.  
  48. </body>
  49. </html>
  50.  


MyBundle:
  1. <?php
  2.  
  3. namespace MyBundle;
  4.  
  5. use Symfony\Component\HttpKernel\Bundle\Bundle;
  6.  
  7. class MyBundle extends Bundle
  8. {
  9. public function getParent()
  10. {
  11. return 'FOSUserBundle';
  12. }
  13. }


W jaki sposób mogę dodać do templatki menu (aktualnie pusta) w pełni funkcjonalny formularz do logowania?
minolone
Zerknij sobie na standardowy formularz logowania
Kod
vendor\friendsofsymfony\user-bundle\FOS\UserBundle\Resources\views\Security\login.html.twig

lub tutaj
https://github.com/FriendsOfSymfony/FOSUser...login.html.twig
i tutaj
https://github.com/FriendsOfSymfony/FOSUser...-layouthtmltwig

a jeżeli nie chcesz go wyswietlac tylko w panelu logowania to dodaj sobie tam if-a do twiga ktory sprawdzi czy jestes w danym routingu
lobopol
Obszedłem problem dodałem akcje zawierającą mini formularz z takimi samymi polami i przekazuje do niego:
  1. $csrfToken = $this->container->get('form.csrf_provider')->generateCsrfToken('authenticate');


aby móc się za jego pomocą logować
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.