How can I Override HWIOAuthBundle twig file

后端 未结 2 2019
伪装坚强ぢ
伪装坚强ぢ 2021-01-14 16:51

I am new in HWIOAuthBundle with Symfony2.3 +FosUserBundle. I am using this bundle for facebook, twitter, googleplus login in my project.

I have successfully install

相关标签:
2条回答
  • 2021-01-14 17:22

    You have two solutions for that :

    1. Use bundle inheritance and refine the template with parent path
    2. Declare a template in you app/Ressources/ like that : app/Ressources/AcmeBundle/Directory/template.html.twig (where /AcmeBundle/Directory/template.html.twig is the exact same path to the template in your vendor)

    Doc :

    • http://symfony.com/doc/current/cookbook/bundles/inheritance.html
    • http://symfony.com/doc/2.0/book/templating.html#overriding-bundle-templates
    0 讨论(0)
  • 2021-01-14 17:38

    To be more specific about your case, you should create 2 new views:

    app/Resources/HWIOAuthBundle/views/layout.html.twig:

    {# extends your own base template #}
    {% extends 'MyBundle::layout.html.twig' %}
    
    {% block title %}{{ 'Login' | trans }}{% endblock %}
    
    {% block body %}
        {% block hwi_oauth_content %}
        {% endblock hwi_oauth_content %}
    {% endblock %}
    

    app/Resources/HWIOAuthBundle/views/Connect/login.html.twig:

    {% extends 'HWIOAuthBundle::layout.html.twig' %}
    
    {% block hwi_oauth_content %}
    
        {# Display oauth errors (here using Bootstrap) #}
        {% if error is defined and error %}
            <div class="row">
                <div class="col-md-12 alert alert-danger text-center">
                    <span class="error">{{ error }}</span>
                </div>
            </div>
        {% endif %}
    
        {# HWIOAuthBundle integration #}
    
        <ul class="top-social">
           <li><a class="#" href="{{ hwi_oauth_login_url('facebook') }}">Facebook</a></li>
           <li><a class="#" href="{{ hwi_oauth_login_url('twitter') }}">Twitter</a></li>
           <li><a class="#" href="{{ hwi_oauth_login_url('google') }}">Google+</a></li>
        </ul>
    
    {% endblock hwi_oauth_content %}
    

    Do not be tempted to put this login page in the first file, because OAUthBundle uses several other views (to confirm profile, etc).

    This example is taken from symfony-quickstart project.

    0 讨论(0)
提交回复
热议问题