web-dev-qa-db-fra.com

Drupal 7 - Le trim du teaser se termine après la première balise <p>. Comment puis-je continuer?

Je souhaite que mon teaser soit tronqué à 400 caractères, mais le trim s'arrête après le premier <p> la balise est fermée. Existe-t-il un moyen de remplacer ce comportement et de faire le teaser trim aux 400 premiers caractères?

J'ai modifié l'option de gestion d'affichage des teasers et je l'ai définie sur 400, puis j'ai modifié et enregistré tout ancien contenu, mais le teaser est toujours coupé après le premier <p> la balise se termine.

J'ai envisagé d'ajouter un résumé du corps, mais il ne permet aucune mise en forme dans la boîte, ce dont j'ai besoin. Toute aide serait grandement appréciée.

6
ril44

J'ai regardé ce problème aujourd'hui et d'après ce que je comprends, la fonction utilisée est text_summary qui fonctionne dans les morceaux de paragraphe - donc si vous avez un court 1er paragraphe puis un long deuxième, il définit un point d'arrêt après le premier paragraphe et s'arrête là, donc le 2ème paragraphe n'est pas affiché.

j'utilise actuellement le module de découpage intelligent qui permet le découpage par mots et obtient le résultat souhaité d'un bloc de texte cohérent pour une vue d'accroche des nœuds.

7
Samudradaka

Cette solution fonctionne si vous utilisez Views pour afficher votre contenu (si ce n'est pas le cas, c'est à vous de choisir ce qui est préférable dans votre cas entre utiliser Views et obtenir ses nombreux autres avantages, ou installer Smart Trim et garder les choses simples. Les vues sont compliquées mais apprendre qu'il est temps est bien investi).

  1. Choisissez "Résumé ou découpé" comme "Formateur" du champ
  2. Définissez la valeur "Longueur de coupe" beaucoup trop élevée - suffisamment grande pour qu'elle couvre toujours l'ensemble de tous les éléments que vous souhaitez couper (par exemple 1500)
  3. Sous " Paramètres de réécriture ", sélectionnez "Ajuster ce champ à une longueur maximale". Cochez "Le champ peut contenir du HTML", cochez "Ajuster uniquement sur une limite de mot" et entrez le nombre de caractères réel dans "Longueur maximale" (par exemple 200). C'est une bonne idée de cocher la case "Ajouter un point de suspension" pour que les phrases incomplètes ne ressemblent pas à une erreur.

Donc dans notre exemple, Drupal choisira le résumé s'il y en a un, ou le corps du texte s'il n'y en a pas. Il comptera 1500 caractères et coupera tous les éléments HTML incomplets. À moins que votre article ne contienne un paragraphe fou excessivement long de l'enfer, ce sera au moins 200 caractères. Ensuite, le filtre Views entre en action, le coupe à 200 caractères par le mot le plus proche. Cela donne la longueur réelle souhaitée, sans perdre la possibilité d'afficher une version rognée du résumé, le cas échéant.

Avec "résumé ou rogné" ou "rogné", le rognage est basé sur des éléments HTML entiers afin que les longs paragraphes puissent être entièrement coupés. J'ai constaté que parfois, s'il y a un long paragraphe d'introduction, le champ coupé apparaîtrait complètement vide - cela résout cela.

8

Sous votre type de contenu -> gérer l'affichage -> teaser -> sous le champ "Corps", il y a une liste déroulante "Format". Par défaut, il est défini comme "Résumé ou découpé". Réglez-le sur "Coupé", puis sélectionnez la longueur à couper.

Si cela ne résout pas le problème, vous pouvez peut-être essayer le module Teaser par type .

0
Varshith