как сделать ссылку на страницу после шаблона home.html.twig после аутентификации с ролью, где маршрут похож на / artist / {id} - PullRequest
0 голосов
/ 14 мая 2019

Я не знаю, как назначить роль в пользовательской таблице сущности Artist и перенаправить ее в свой профиль, путь которого - / artist / {id} Роль свойства в базе данных имеет тип массива

home_appointment.html.twig

{% extends 'base.html.twig' %}

{% block header %}
    <header id="background">
        <div id="menuSecondaire">
        {# afficher le role du user #}
            {% if app.user %}
                {% for role in app.user.roles %}
                {{role}}
                {% endfor %}
            {% endif %}

            <div id="icoRegister">
                <img src="../img/inscription.png" alt="icône d'inscription">
            </div>
            <a href="{{path('register')}}">s'inscrire</a>
            <div id="icoLog">
                <img src="../img/connexion.png" alt="icône de connexion">
            </div>
            {% if not app.user %}
            <a href="{{ path('login') }}">se connecter</a>
            {% else %}
            <a href="{{ path('logout') }}">se déconnecter</a>
            {% endif %}
        </div>
        <div id="entete">
                    <div id="slogan">
                        <p>D'autre P'art</p>
                        <p>Votre rendez-vous avec l'art !</p>
                    </div>
                    <nav id="menuPrincipal">
                        <ul id="menu">
                        {% if is_granted('ROLE_USER') %}
                            <li>Profil</li>
                            <li><a href="{{ path('index_artist')}}">Artistes</a></li>
                            <li><a href="#">Actualités</a></li>
                        {% endif %}
                        {% if is_granted('ROLE_ARTIST') %}
                        {% set artist = 'ROLE_ARTIST' %}
                            <li><a href="{{ path('show_artist', {'id':artist.id}) }}">Profil</li>
                            <li><a href="{{ path('index_place') }}">Lieux</a></li>
                            <li>Actualités</li>
                        {% endif %}
                        {% if is_granted('ROLE_OWNER') %}
                            {#<li><a href="{{ path('show_owner', {'id':owner.id}) }}">Profil</a></li>#}
                            <li><a href="{{ path('index_artist') }}">Artistes</a></li>
                            <li><a href="{{ path('new_appointment') }}">Créer un évènement</a></li>
                        {% endif %}
                        {% if not app.user %}
                            <li>{{ 'now' | localizeddate('full', 'none') }}</li>
                            <li><a href="#">Actualités</a></li>
                            <li><a href="{{ path('index_artist') }}">Artistes</a></li>
                        {% endif %}
                        </ul>
                    </nav>
                </div>
        <div id="logo"> 
            <img src="img/logo.png" alt="logo D'autre P'art">
        </div>
    </header>
{% endblock %}
{% block body %}
    <div id="recherche">
        <div class="champs">
            <label for=""><p>Ville :</p>
                <span class="custom-dropdown custom-dropdown--white">
                    <select name="" id="ville" class="custom-dropdown__select custom-dropdown__select--white">
                        <option value="">ville</option>
                    </select> 
                </span>
            </label>     
        </div>
        <div class="champs">
            <label for=""><p>Lieu :</p>
                <span class="custom-dropdown custom-dropdown--white">
                    <select name="" id="lieu" class="custom-dropdown__select custom-dropdown__select--white">
                        <option value="">lieu</option>
                    </select>
                </span>
            </label>         
        </div>
        <div class="champs">
            <label for=""><p>Domaine artistique :</p>
                <span class="custom-dropdown custom-dropdown--white">
                    <select name="" id="art" class="custom-dropdown__select custom-dropdown__select--white">
                        <option value="">domaine artistique</option>
                    </select>  
                </span>
            </label>         
        </div>
        <div class="champs">
            <label for=""><p>Artiste :</p>
                <span class="custom-dropdown custom-dropdown--white">

                    <select name="" id="artiste" class="custom-dropdown__select custom-dropdown__select--white">
                        <option value="">artiste</option>
                    </select>
                </span>
            </label>         
        </div>
    </div>
    <section id="contenu">
        <div class="marge">
            {% for appointment in appointments %}
            <a href="{{ path('show_appointment',{'id':appointment.id}) }} ">
                <article class="vignette">
                    <div class="date"><p>{{ appointment.beginAt | localizeddate('none', 'none', null, null, 'EEE')}}</p><p>{{ appointment.endAt | date('d')}}</p><p>{{ appointment.beginAt | localizeddate('none', 'none', null, null, 'MMM')}}</p></div>
                    {#<div><img src="{{ event.image }}" alt="photo de l'évènement"></div>#}
                    <div class="info">
                        <h3>{{ appointment.title }}</h3>
                        <p>{{ appointment.place.city }}</p>
                        {#<p>{{ appointment.artist.category }}</p>#}
                    </div>
                </article>
            </a>
            {% endfor %}
        </div>
    </section>
{% endblock %}

с этим кодом я получаю сообщение об ошибке: Невозможно получить доступ к атрибуту («id») в строковой переменной («ROLE_ARTIST»).

...