]> Raphaƫl G. Git Repositories - airbundle/blobdiff - Resources/views/body.html.twig
Fix canonical hreflang to use locale
[airbundle] / Resources / views / body.html.twig
index 6dca55dfd6e6985c27d8d054ae473ab25e75cb1f..73aa6779d8d89a660503d1e35d128e5de28a43d0 100644 (file)
@@ -4,29 +4,31 @@
 {% endblock %}
 {% block stylesheets %}
        <meta name="viewport" content="width=device-width, initial-scale=1" />
-       {% if description is defined and description %}
-               <meta name="description" content="{{ description }}" />
+       {% if page.description is defined and page.description %}
+               <meta name="description" content="{{ page.description }}" />
        {% endif %}
        {% if keywords is defined and keywords %}
                <meta name="keywords" content="{{ keywords|join(', ') }}" />
        {% endif %}
-       <link rel="shortcut icon" type="image/x-icon" href="{{ asset(site.ico) }}" />
-       <link rel="icon" type="image/svg+xml" href="{{ asset(site.svg) }}" />
-       {% for size, icon in site.png %}
-               {# Apple #}
-               {% if size in [120, 152, 167, 180] %}
-                       {% if size == 180 %}
-                               <link rel="apple-touch-icon" href="{{ asset(icon) }}" />
+       {% if site is defined and site %}
+               <link rel="shortcut icon" type="image/x-icon" href="{{ asset(site.ico) }}" />
+               <link rel="icon" type="image/svg+xml" href="{{ asset(site.svg) }}" />
+               {% for size, icon in site.png %}
+                       {# Apple #}
+                       {% if size in [120, 152, 167, 180] %}
+                               {% if size == 180 %}
+                                       <link rel="apple-touch-icon" href="{{ asset(icon) }}" />
+                               {% endif %}
+                               <link rel="apple-touch-icon" sizes="{{ size }}x{{ size }}" href="{{ asset(icon) }}" />
+                       {# Windows #}
+                       {% elseif size in [70, 150, 310] %}
+                               <meta name="msapplication-square{{ size }}x{{ size }}logo" content="{{ asset(icon) }}" />
+                       {# Others #}
+                       {% else %}
+                               <link rel="icon" type="image/png" sizes="{{ size }}x{{ size }}" href="{{ asset(icon) }}" />
                        {% endif %}
-                       <link rel="apple-touch-icon" sizes="{{ size }}x{{ size }}" href="{{ asset(icon) }}" />
-               {# Windows #}
-               {% elseif size in [70, 150, 310] %}
-                       <meta name="msapplication-square{{ size }}x{{ size }}logo" content="{{ asset(icon) }}" />
-               {# Others #}
-               {% else %}
-                       <link rel="icon" type="image/png" sizes="{{ size }}x{{ size }}" href="{{ asset(icon) }}" />
-               {% endif %}
-       {% endfor %}
+               {% endfor %}
+       {% endif %}
        {# stylesheet '//fonts.googleapis.com/css?family=Irish+Grover' '//fonts.googleapis.com/css?family=La+Belle+Aurore' '@RapsysAirBundle/Resources/public/css/{reset,screen}.css' #}
        {% stopwatch 'stylesheet' %}
                {% stylesheet '@rapsys_air_bundle/css/{reset,droidsans,screen}.css' %}
                {% endstylesheet %}
        {% endstopwatch %}
        {% if canonical is defined and canonical %}
-               <link rel="canonical" href="{{ canonical }}" />
+               <link rel="canonical" href="{{ canonical }}"{% if locale is defined and locale %} hreflang="{{ locale }}"{% endif %} />
        {% endif %}
        {% if alternates is defined and alternates %}
-               {% for alternate in alternates %}
-                       <link rel="alternate" href="{{ alternate.absolute }}" hreflang="{{ alternate.lang }}" />
+               {% for lang, alternate in alternates %}
+                       <link rel="alternate" href="{{ alternate.absolute }}" hreflang="{{ lang }}" />
+               {% endfor %}
+       {% endif %}
+       {% if facebook['metas'] is defined and facebook['metas'] %}
+               {% for property, contents in facebook['metas'] %}
+                       {% if contents is iterable %}
+                               {% for content in contents %}
+                                       <meta property="{{ property }}" content="{{ content }}" />
+                               {% endfor %}
+                       {% else %}
+                               <meta property="{{ property }}" content="{{ contents }}" />
+                       {% endif %}
                {% endfor %}
        {% endif %}
 {% endblock %}
                {% endjavascript %}#}
        {% endstopwatch %}
 {% endblock %}
-{% block title %}{{ title }}{% endblock %}
+{% block title %}{{ [site.title, page.section, page.title]|filter(v => v)|join(' - ') }}{% endblock %}
 {% block body %}
        {% block header %}
                <header id="header">
-                       {% block header_title %}<h1><a href="{{ site.url }}" title="{{ site.title }}"><img src="{{ asset(site.logo) }}" alt="{{ site.title }}" width="171" height="32" /></a></h1>{% endblock %}
+                       {% if site is defined and site %}
+                               {% block header_title %}<h1><a href="{{ site.url }}" title="{{ site.title }}"><img src="{{ asset(site.logo) }}" alt="{{ site.title }}" width="171" height="32" /></a></h1>{% endblock %}
+                       {% endif %}
                        {% block header_nav %}
                                <nav>
                                        <h2>{% trans %}Navigation{% endtrans %}</h2>
                                        <ul>
-                                               <li><a href="{{ path('rapsys_air_contact') }}">{% trans %}Contact{% endtrans %}</a></li>
-                                               <li><a href="{{ path('rapsys_air_terms_of_service') }}">{% trans %}Terms of service{% endtrans %}</a></li>
-                                               <li><a href="{{ path('rapsys_air_organizer_regulation') }}">{% trans %}Organizer regulation{% endtrans %}</a></li>
-                                               <li><a href="{{ path('rapsys_air_organizer') }}">{% trans %}Organizers{% endtrans %}</a></li>
+                                               <li><a href="{{ path('rapsys_air') }}" rel="home">{% trans %}Home{% endtrans %}</a></li>
+                                               <li><a href="{{ path('rapsys_air_contact') }}" rel="contact">{% trans %}Contact{% endtrans %}</a></li>
+                                               <li><a href="{{ path('rapsys_air_frequently_asked_questions') }}">{% trans %}Frequently asked questions{% endtrans %}</a></li>
+                                               <li><a href="{{ path('rapsys_air_user') }}">{% trans %}Users{% endtrans %}</a></li>
+                                               {% if is_granted('ROLE_GUEST') %}
+                                                       <li><a href="{{ path('rapsys_air_organizer_regulation') }}">{% trans %}Organizer regulation{% endtrans %}</a></li>
+                                               {% endif %}
                                                {% if is_granted('IS_AUTHENTICATED_REMEMBERED') %}
+                                                       <li><a href="{{ path('rapsys_user_edit', {mail: app.user.mail|short, hash: app.user.mail|short|hash}) }}">{% trans %}My account{% endtrans %}</a></li>
                                                        <li><a href="{{ path('rapsys_user_logout') }}">{% trans %}Logout{% endtrans %}</a></li>
                                                {% else %}
                                                        <li><a href="{{ path('rapsys_user_login') }}">{% trans %}Login{% endtrans %}</a></li>
        {% endblock %}
        {% block footer %}
                <footer id="footer">
-                       <span>&nbsp;</span>
-                       <details><summary>{{ copy.long }}</summary><span>{{ copy.short }}</span></details>
+                       <a href="{{ path('rapsys_air_about') }}">{% trans %}About{% endtrans %}</a>
+                       {% if copy is defined and copy %}
+                               <details><summary>{{ copy.long }}</summary><span>{{ copy.short }} <a href="{{ copy.link }}" title="{{ copy.title }}" rel="author">{{ copy.by }}</a></span></details>
+                       {% endif %}
+                       <a href="{{ path('rapsys_air_terms_of_service') }}">{% trans %}Terms of service{% endtrans %}</a>
                        {% if alternates is defined and alternates %}
-                               <ul>
-                                       {% for alternate in alternates %}
-                                               <li><a href="{{ alternate.relative }}" hreflang="{{ alternate.lang }}" title="{{ alternate.title }}">{{ alternate.translated }}</a></li>
-                                       {% endfor %}
-                               </ul>
+                               {% set langs = alternates|keys|filter(v => v|length == 5) %}
+                               {% if langs|length > 1 %}
+                                       <ul>
+                                               {% for lang in langs %}
+                                                       <li><a href="{{ alternates[lang].relative }}" hreflang="{{ lang|replace({'_': '-'}) }}" title="{{ alternates[lang].title }}">{{ alternates[lang].translated }}</a></li>
+                                               {% endfor %}
+                                       </ul>
+                               {% else %}
+                                       {% set lang = langs|first %}
+                                       <a href="{{ alternates[lang].relative }}" hreflang="{{ lang|replace({'_': '-'}) }}" title="{{ alternates[lang].title }}">{{ alternates[lang].translated }}</a>
+                               {% endif %}
                        {% else %}
                                <span>&nbsp;</span>
                        {% endif %}