web-dev-qa-db-fra.com

Comment obtenir le chemin actuel et ajouter une condition dans page.html.twig?

J'ai la page de vue appelée "emplacement/tout" qui contient tous les détails de la carte.

J'ai changé certains styles CSS.

<!--<div role="main" class="main-container {{ container }} js-quickedit-main-content">!-->
{% if 'location/all' in url %}
  <div role="main" class="main-container js-quickedit-main-content">
{% else %}
 <div role="main" class="main-container {{ container }} js-quickedit-main-content">
{% endif %}

J'ai essayé ce code pour vérifier la condition, mais à chaque fois qu'il exécute la partie else.

4
vignesh r

GOt la réponse

{% set url = url('<current>') %}
{% if 'location/all' in url|render|render %}
<div role="main" class="main-container js-quickedit-main-content">
{% else %}
<div role="main" class="main-container {{ container }} js-quickedit-main-content">
{% endif %}

Merci pour votre aide

4
vignesh r

Essaye ça

{% if 'location/all' in url('<current>')|render|render %}

Solution alternative serait d'ajouter ce qui suit à votre THEMENAME.theme

function THEMENAME_preprocess_page(&$vars) {
  $vars['path'] = \Drupal::service('path.current')->getPath();
}

et utilisez-le dans votre page.html.twig

{% if 'location/all' in path %}
4
GiorgosK

Essayez avec ce code.

<!--<div role="main" class="main-container {{ container }} js-quickedit-main-content">!-->
{% if '/location/all' == url('<current>') %}
  <div role="main" class="main-container js-quickedit-main-content">
{% else %}
 <div role="main" class="main-container {{ container }} js-quickedit-main-content">
{% endif %}
0
Jeetendra Kumar