it-swarm.com.de

Wie erhalte ich Zeilenumbrüche bei Verwendung des Nur-Text-Formats?

Ich denke, das sollte wirklich einfach sein, aber es macht mich verrückt.

Ich habe 'Klartext' für alle meine Körperelemente ausgewählt. Ich möchte nicht, dass jemand beim Ausfüllen von Formularen HTML-Dateien eingeben kann.

Ich möchte jedoch, dass die Zeilenumbrüche erhalten bleiben. Auf der Konfigurationsseite für plain gibt es zwar ein Kontrollkästchen, um Zeilenumbrüche in br und p umzuwandeln. Unabhängig davon, was ich überprüfe oder wie ich das Gewicht der Filter neu anordne, kann ich die Unterbrechungen nicht beibehalten.

Was ist die richtige Konfiguration, damit dies funktioniert, damit ich die Rückgaben in den Texten beibehalten kann?

11
blue928

Sieht aus wie ein Fehler in Drupal core http://drupal.org/node/1019042

8
giorgio79

Dies scheint ein Drupal 7.x-Fehler zu sein. Das Ändern der Filterreihenfolge funktioniert in meinem Fall nicht.

Meine kurzfristige Lösung bestand darin, dies in die template.php ( ref ) meines Themas zu werfen:

<?php
/**
 * Implements template_preprocess_field().
 */
function THEMENAME_preprocess_field(&$vars, $hook) {
  // Add line breaks to plain text textareas.
  if (
    // Make sure this is a text_long field type.
    $vars['element']['#field_type'] == 'text_long'
    // Check that the field's format is set to null, which equates to plain_text.
    && $vars['element']['#items'][0]['format'] == null
  ) {
    $vars['items'][0]['#markup'] = nl2br($vars['items'][0]['#markup']);
  }
}
?>

Für Felder in Ansichten muss diese Option im Abschnitt "Ergebnisse neu schreiben" der Feldeinstellungen separat festgelegt werden.

11
Druvision

Eigentlich sollte es mit dieser Filterreihenfolge unter "admin/config/content/formats/plain_text" funktionieren.

  1. Zeigen Sie HTML als einfachen Text an
  2. URLs in Links konvertieren
  3. Zeilenumbrüche in HTML konvertieren (d. H. <br> und <p>)

Probieren Sie die folgenden Filter aus, indem Sie "HTML als einfachen Text anzeigen" entfernen:

  1. Begrenzen Sie zulässige HTML-Tags (setzen Sie nur <a> und <br> für die Liste der zulässigen HTML-Tags)
  2. URLs in Links konvertieren
  3. Zeilenumbrüche in HTML konvertieren (d. H. <br> und <p>)
3
Sithu

Die Lösung ist einfach. Zeigen Sie einfach den Nur-Text-Inhalt mit folgendem CSS an.

white-space: pre-line;
3
Kevin Siji

Ich habe das Modul Advanced Text Formatter verwendet, um dieses Problem ohne Code schnell zu lösen.

  1. Installieren und aktivieren Sie das Modul.
  2. Klicken Sie auf "Anzeige verwalten" Ihres Inhaltstyps.
  3. Ändern Sie den "Nur-Text" des Feldformats in "Erweiterter Text".
  4. Klicken Sie auf das Zahnrad rechts (oder auf einen Link zu den Formateinstellungen).

    1. Stellen Sie die Schnittlänge auf 0
    2. Setzen Sie den Filter auf "Zulässige HTML-Tags begrenzen".
    3. Entfernen Sie alle Elemente aus "Zulässige HTML-Tags".
    4. Aktivieren Sie "Konvertiert Zeilenumbrüche in HTML".
    5. Klicken Sie auf "Aktualisieren" und speichern Sie Ihre Feldanzeige.

Format Settings of Advanced Text Formatter module to allow only line breaks

1
StackAttack

Ich denke nicht, dass es die Eingangsfilterung ist: Es ist wahrscheinlich die Anzeigeeinstellung für das Feld. Wenn es auf "Nur Text" eingestellt ist, ändern Sie es in "Standard". Andernfalls werden die für die Zeilenumbrüche der Eingabe generierten Tags entfernt, bevor das Feld angezeigt wird.

Aus Gründen der Übersichtlichkeit befindet sich dies im Bereich "Anzeige verwalten" für den betreffenden Inhaltstyp. Unter Administration "Struktur" Inhaltstyp "MyContentType" Anzeige verwalten. Unter der Spalte Format für das Feld.

0

Ich halte dies nicht für einen Fehler, sondern für das Ergebnis von Verwirrung (übrigens nicht hilfreich Drupal ist eingerichtet)) zwischen einem Feld mit einem Eingabeformat für "gefilterten Text", das auf "Nur-Text" eingestellt ist. und ein "Nur-Text" -Feld. Wenn Sie beim Erstellen Ihres Feldes "Gefilterter Text" auswählen, erhält der Benutzer die Option, aus "Nur-Text" und anderen verfügbaren Eingabeformaten auszuwählen und hier die Option "Nur-Text" zu verwenden Beim Erstellen Ihres Inhalts werden die Zeilenumbrüche und Links sofort gerendert. Wenn Sie jedoch bei der Felderstellung "Nur-Text" auswählen, sind keine Tags verfügbar/gerendert, unabhängig davon, wie Sie das Eingabeformat "Nur-Text" konfigurieren Bevor Sie in Panik geraten, dass "einfacher Text" nicht funktioniert, überprüfen Sie zunächst in Ihrem Inhaltstyp-Setup, ob für das Feld "gefilterter Text" ausgewählt ist. Es ist paradox und ärgerlich, aber Drupal ...;)

0
Thoughtcat

"Nur-Text-Format" als "Textverarbeitung" -Methode unterstützt KEINE HTML-Tags, daher funktionieren Zeilenumbrüche nicht normal.

Erstellen Sie ein "Textformat" für "Gefilterter Text (Benutzer wählt das Textformat aus)" und setzen Sie das "Textformat" auf "Nur Text".

0
user9616