28172 sujets

CSS et mise en forme, CSS3

Bonjour,

Je sais pas si il y a beaucoup de drupaleurs ici mais je tente quand même.

Je suis débutant et j'apprends Drupal 8 tout seul, comme un grand, mais je bloque sur un problème.

J'ai créé un block type pour mon footer. Celui ci contient que des champs de type lien. Je souhaite ajouter une classe à chaque lien pour ajouter du style en css.

Pour cela je souhaite éditer le fichier qui gère que le liens qui sont dans le block type en question.
field--block-content--footer-links.html.twig'

Voici le fichier par défaut:

{% if label_hidden %}
  {% if multiple %}
    <div{{ attributes }}>
      {% for item in items %}
        <div{{ item.attributes }}>{{ item.content }}</div>
      {% endfor %}
    </div>
  {% else %}
    {% for item in items %}
     {{ item.content }} ---------------> ajouter une classe ici
    {% endfor %}
  {% endif %}
{% else %}
  <div{{ attributes }}>
    <div{{ title_attributes }}>{{ label }}</div>
    {% if multiple %}
      <div>
    {% endif %}
    {% for item in items %}
      <div{{ item.attributes }}>{{ item.content }}</div>
    {% endfor %}
    {% if multiple %}
      </div>
    {% endif %}
  </div>
{% endif %}


Ma question: comment ajouter une classe à chacun de mes liens. Je bloque complètement.

Merci Smiley smile
Alors je ne suis pas encore passé à Drupal 8 (faudrait s'y mettre un jour) mais sur le 7 tu peux créer des block ou tu ^peux créer ton contenu avec l'editeur wysiwyg, ou même avec une vue si tu veux regrouper tout tes champs de type lien.

J'ai l'impression que tu te compliques la vie ou alors je n'ai pas compris ce que tu cherches à faire peut être.
D'accord j'avais oublié qu'on pouvais faire ça avec la version 8. (en 7 ça n'existe pas)
Du cou soit tu cherche un module qui te permet de faire ça, mais pas sur que tu trouves.
Soit tu utilises l'ID ou la class du block générer (ce que je ferais)

Pour modifier le template je ne saurais pas t'aider, je connais pas très bien twig
J'ai trouvé un module 'link class' mais il fonctionne bizarrement. Il prend en compte certaines classes dans mon css et pas d'autres. Je comprends pas.

J'ai aussi essayé de cibler les liens à partir du div parent dans mon css, je vide le cache mais rien ne change. J'ai l'impression que ma feuille de style n'est pas lu entièrement.

Je continue de chercher....
Je remarque dans la console, dans 'éditeurs de scripts', que la feuille de style dans le navigateur n'est pas la même que j'ai dans brackets. Les nouvelles déclarations ne sont pas prises en compte. C'est pour ça que mes nouvelles classes ne fonctionnent pas. Elle n'apparaissent pas dans la console. Peut-être un problème de cache, je vais explorer ça....
J'ai compris mon problème. En fait, j'éditais un fichier style.css qui était dans un mauvais dossier tout simplement. J'ai changé de serveur local et j'ai renommé le dossier de mon thème mais bizarrement bracket ne l'avais pas pris en compte. Un truc tout bête, lol. Ca marche maintenant. j'ai utilisé le module 'link class' qui fonctionne bien, maintenant que j'édite le bon fichier qui est dans le bon dossier.