web-dev-qa-db-fra.com

Désactiver le lien en savoir plus

J'ai essayé de supprimer le lien "En savoir plus" du type de contenu "Page de base". Dans Structure -> Content types -> Basic page -> manage display J'ai vérifié le "contenu complet" et décoché tout le reste et cela n'a pas aidé.
Où est-ce que je fais erreur?

J'ai trouvé dans une autre question la possibilité de modifier le fichier modèle, mais je préfère le faire dans les paramètres.

merci

7
xralf

Il n'y a aucun paramètre pour cela.

Vous pouvez soit le faire avec une fonction de prétraitement comme expliqué dans Supprimer les liens 'en savoir plus' et 'Ajouter un nouveau commentaire' sur la page d'accueil ou vous pouvez implémenter hook_node_view_alter () . Les deux sont possibles dans un module ou dans un thème.

Le lien en savoir plus est ajouté dans node_build_content () , et vous devriez pouvoir supprimer uniquement ce lien comme ceci:

function yourmodule_node_view_alter(&$build) {
  if ($build['#node']->type == 'page') {
    unset($build['links']['node']['node-readmore']);
  }
}
8
Berdir

À partir de Drupal version 7.x et 2014 May, j'ose dire que l'approche correcte de la fonctionnalité de désactivation du lien "En savoir plus" se ferait via l'installation et la configuration du contrôle En savoir plus module trouvé à Read More Control module .

Il existe d'autres fonctionnalités dont le module ci-dessus est capable, et serait la meilleure approche pour résoudre ces problèmes sans plonger dans le code ou pirater n'importe quel fichier directement.

3
Loloy D

Solution parfaite: Read More Control Module

Activez et configurez simplement le module.

Un module pour contrôler quand le lien Lire la suite apparaît dans Drupal 7.

Il n'y a aucun mécanisme dans le noyau pour décider si le lien en savoir plus doit apparaître. Cela signifie que ce lien s'affichera toujours, peu importe s'il y a du contenu supplémentaire à afficher. Ce module essaie de résoudre ce problème en permettant aux administrateurs de déterminer comment gérer ce lien par rapport au type de contenu et aux champs individuels.

Le module vous permet d'ajouter des liens Lire plus à d'autres modes d'affichage pris en charge (flux RSS, résultats de recherche, etc.) ou même à d'autres types d'entités pris en charge. Particulièrement utile si vous utilisez des panneaux ou des vues et que vous ajoutez par programmation des modes de vue supplémentaires ou utilisez d'autres modules contrib pour les fournir.

1

Nous pouvons le masquer via css. Prenez simplement la classe de corps comme parent, puis node-readmore

 .parentclass .node-readmore
 {
   display: none;
 }
1
Ram

Cela peut également être fait avec des panneaux.

  1. Créer une nouvelle page de panneaux
  2. Cliquez sur Ajouter du contenu sur un panneau
  3. Cliquez sur "Nœud" pour accéder aux volets liés aux nœuds
  4. Cliquez sur 'Contenu du nœud'
  5. Décochez "Inclure les liens de nœud pour" ajouter un commentaire "," en savoir plus ", etc."

Vous devrez peut-être ajouter des volets pour les commentaires, etc.

0

C'est une autre façon de masquer le lien en savoir plus simplement en utilisant du code CSS:

.node-readmore {
     font-size: 0;
}

Modifié: vous devez ajouter ce code dans votre fichier de substitution css

0
hailton

De plus, pour supprimer la lecture de la teaser tout en conservant d'autres éléments qui peuvent utiliser la section des liens (comme le widget de partage de AddtoAny par exemple), vous pouvez faire ce qui suit dans un module personnalisé :

function [your-module-name]_node_view_alter(&$build) { 
  /* remove just the read-more while preserving other elements using Links section */
  if ($build['#view_mode'] == 'teaser') {
    unset($build['links']['node']['#links']['node-readmore']);
  }
}

Cela est également utile si vous utilisez l'excellent module Smart Trim pour mettre le détail à la fin du résumé découpé et non dans la section Liens.

0
PWM