Düz Metin biçimini kullanırken satır sonlarını nasıl alırım?


11

Bunun gerçekten basit olması gerektiğini hissediyorum, ama bu beni deli ediyor.

Tüm Gövde öğelerim için 'düz metin' seçili. Form doldururken hiç kimsenin html koymasını istemiyorum.

Ancak, satır sonlarının korunmasını istiyorum. Düz için yapılandırma sayfasında gerçekten bir 'satır sonlarını br ve p'ye dönüştürmek için bu kutuyu işaretleyin, ancak ne kontrol edersem veya filtrelerin ağırlığını nasıl yeniden düzenlersem değiştireyim, araları korumak için alamıyorum.

Metinlerde iadeleri koruyabilmem için bunun çalışması için doğru yapılandırma nedir?


1
Bu çok garip. Aynı düzene sahibim ve benim için çalışıyor. Bu temiz bir yükleme mi yoksa yükseltme mi? Özel bir modül mü kullanıyorsunuz, belki de üzerine yazma veya başka bir şey yapıyor musunuz?
Emil Orol

Bir hata gibi hissediyorum ya da bir şey biraz yer dışında gibi. Ne olduğunu düşündüm, satır sonları için br ve p etiketleri döndürebiliyordum, ama sonra gerçek 'düz metni' korumak için filtreleniyorlardı Ne kontrol ettiniz ve filtrelerinizin sırası nedir?
blue928

Ben hala Düz metin ile bu sorunu var. Ben de <p> ve <br> etiketleri ekledim ama şans yok. Bir şey eksik mi?
sokratis

Yanıtlar:



11

Bu Drupal 7.x hatası gibi görünüyor. Filtrelerin sırasını değiştirmek benim durumumda çalışmıyor.

Kısa vadeli çözümüm bunu temamın template.php ( ref ) içine atmaktı :

<?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']);
  }
}
?>

Görünümlerdeki alanlar için, bu seçeneğin alan ayarlarının "Sonuçları Yeniden Yaz" bölümünde ayrı olarak ayarlanması gerekir.


3

Aslında, "admin / config / content / format / plain_text" adresindeki bu filtreler sipariş ayarıyla çalışmalıdır.

  1. Herhangi bir HTML'yi düz metin olarak görüntüleme
  2. URL'leri bağlantılara dönüştürme
  3. Satır sonlarını HTML'ye dönüştürme (ör. <br> ve <p>)

"Herhangi bir HTML'yi düz metin olarak görüntüle" seçeneğini kaldırarak aşağıdaki filtreleri deneyin:

  1. İzin verilen HTML etiketlerini sınırlama (izin verilen HTML etiketleri listesi için yalnızca <a> ve <br> olarak ayarlayın)
  2. URL'leri bağlantılara dönüştürme
  3. Satır sonlarını HTML'ye dönüştürme (ör. <br> ve <p>)

2
giriş biçimi Filtrelenmiş Metin değilse bu çalışmaz.
artfulrobot

3

Çözüm basit. Düz metin içeriğini aşağıdaki css ile görüntülemeniz yeterlidir.

white-space: pre-line;

2
Aslında, drupal.org/node/1095838#comment-6679314'tewhite-space: pre-line; belirtildiği gibi daha iyidir.
Jeroen

Böyle zarif bir çözüm.
sephiith

Bu işe yarar, ancak yalnızca alanlarınızın her birini manuel olarak hedeflemek istiyorsanız veya tüm uzun metin alanlarınızın buna ihtiyacı varsa. "Düz metin" alanlarını diğer alan türleriyle karıştırdıysanız ve bunu bir PDF dosyası yapmak için mpdf ile kullanıyorsanız, yalnızca Druvision'un çözümü işe yarar.
Richard

1

Kod olmadan bu sorunu hızla çözmek için Gelişmiş Metin Biçimlendirici modülünü kullandım.

  1. Modülü kurun ve etkinleştirin.
  2. İçerik türünüzün 'Görüntüyü Yönet'i tıklayın.
  3. Alanınızın biçiminin 'Düz Metin'i' Gelişmiş Metin 'olarak değiştirin
  4. Sağdaki dişli çark simgesini (veya biçimlendirme ayarları bağlantısını) tıklayın

    1. Kırpma uzunluğunu 0 olarak ayarlayın
    2. Filtreyi 'İzin Verilen HTML etiketlerini sınırla' olarak ayarlayın
    3. 'İzin verilen HTML etiketleri'nden tüm öğeleri kaldır
    4. 'Satır sonlarını HTML'ye dönüştürür' seçeneğini işaretleyin
    5. 'Güncelle'yi tıklayın ve Alan Ekranınızı kaydedin.

Yalnızca satır kesmelerine izin vermek için Gelişmiş Metin Biçimlendirici modülünün Ayarlarını Biçimlendirme


0

Bunun giriş filtrelemesi olduğunu düşünmüyorum: muhtemelen alanın görüntü ayarı. "Düz metin" olarak ayarlanmışsa, "Varsayılan" olarak değiştirin. Aksi takdirde, giriş satır sonları için oluşturulan etiketler alan gösterilmeden önce çıkarılır.

Anlaşılır olması için, söz konusu içerik türü için "Görüntüyü Yönet" panelinde. Yönetim »Yapısı» İçerik türü »MyContentType» Görüntüyü Yönet. Alan için Biçim sütununun altında.


0

Bu bir hata sanmıyorum ama "düz metin" ve "düz metin" alanına ayarlanmış bir "filtrelenmiş metin" giriş biçimi olan bir alan arasındaki karışıklık (Drupal kuruldu yolu tarafından yardımcı değil) sonucu. Alanınızı oluşturduğunuzda "filtrelenmiş metin" seçeneğini belirlerseniz, kullanıcı "düz metin" ve diğer tüm giriş biçimleri arasından seçim yapma seçeneğine sahip olur ve içeriğinizi oluştururken burada "düz metin" seçeneğini kullanmak satırı oluşturur kopar ve kutudan çıkar. Ancak alan oluşturmada "düz metin" seçerseniz, "düz metin" giriş biçimini nasıl yapılandırırsanız yapın hiç etiket kullanılamaz / oluşturulmaz. Bu nedenle, "düz metin" çalışmazken panik yapmadan önce, içerik türü kurulumunuzda alanın "filtrelenmiş metin" olup olmadığını kontrol edin Seçilen. Paradoksal ve sinir bozucu, ama Drupal ...;)


0

"Metin işleme" yöntemi olarak "Düz Metin biçimi" herhangi bir HTML Etiketini desteklemez, bu nedenle satır sonları normal şekilde çalışmaz.

"Filtrelenmiş metin (kullanıcı metin biçimini seçer)" için bir "metin biçimi" oluşturun ve "Metin biçimi" ni "Düz metin" olarak ayarlayın.


Bunu benim için çözen şey, içerik türündeki alanı "filtrelenmiş metin - kullanıcı seçimi" olarak değiştirmekti, ancak kullanıcının yalnızca düz metin düzenleyicisine erişimi olduğundan emin oldum. Bir şekilde işe yaradı. Kullanıcının diğer metin editörlerine erişimi olsaydı bu pek hoş olmazdı.
Christia

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.