İki nokta üst üste işaretini alan etiketlerimden nasıl kaldırabilirim?


10

Yalnızca, işlenmiş alan etiketlerimdeki iki nokta üst üste işaretini kaldırmak istiyorum, örneğin:

Otel adı: Otel adı

Field.tpl.php dosyasını kopyaladım ve orada iki nokta üst üste çıkardım, ancak Drupal'ın onu kabul etmeyi reddetmesi ne olursa olsun ve iki nokta üst üste başka bir yerden çekiliyor.

Bunu template.php işleviyle nasıl yapabilirim?


önbelleği temizledin mi?
AjitS

evet, birkaç kez. hayır git
blue928


@ blue928 Yinelenen gönderiye bakın, bunu theme_form_element()yapmak için geçersiz kılmanız gerekir
Clive

Yukarıdaki düğüm / düzeltme, birisi içeriği düzenlerken / girerken iki nokta üst üste işaretlerini formdan kaldırmıştır. Düğümde işlendikten sonra etiketleri kaldırmam gerekiyor. .. yani, yukarıdakilerin bir kopyası olmazdı. Aslında bu sonucu elde etmek için bu çözümü uyguladım.
blue928

Yanıtlar:


16

Cevap kesinlikle field.tpl.php kullanmaktır . Bu dosyanın kaynağına bakarsanız, rahatsız edici satırları görebilirsiniz:

<?php if (!$label_hidden): ?>
  <div class="field-label"<?php print $title_attributes; ?>>
    <?php print $label ?>:&nbsp;
  </div>
<?php endif; ?>

(açıklık için aralık ve girinti madeni).

İki nokta üst üste işaretini kaldırmak, yukarıdaki satırları değiştirmekle aynı basittir:

<?php if (!$label_hidden): ?>
  <div class="field-label"<?php print $title_attributes; ?>>
    <?php print $label ?>&nbsp;
  </div>
<?php endif; ?>

Bunu boş bir Drupal kurulumunda test ettim ve mükemmel çalışıyor; alan etiketlerinden sonra artık iki nokta üst üste işareti yok.

Zaten aynı şeyi yapıyorsanız, ancak doğru sonuçları almıyorsanız, ters gidebilecek bir veya iki şey düşünebilirim:

  • Özel field.tpl.php sürümünü sitenizin etkin tema klasöründen ziyade bir modül klasörüne koydunuz (tema klasöründe olması gerekir).
  • Sistemdeki başka bir modül / eleman da şu anda olduğundan daha sağlam bir şekilde field.tpl.php dosyasını geçersiz kılıyor. Durumun böyle olup olmadığını görmek, sorunun nereden geldiğini belirlemek için her etkin modülün her zaman sıkıcı devre dışı bırakılmasını içerecektir.

İki nokta üst üste şablon dosyasına sabit kodlanmış olduğundan, şablon önişleme işleviyle değişiklik yapamazsınız.


Gerçekten, şablon dosyasının düzgün çalışmasını engelleyen başka bir modül daha vardı. Bazı yararlı hata ayıklama yönlerini belirttiğiniz için teşekkür ederiz.
blue928

9

Sadece bunu yapan, çıktıdaki alan etiketlerinden iki nokta üst üste (sütun başına) sütunlarını kaldıran bir modül oluşturdum: Kolektomi


Onaylayabilir. Bu modül mükemmel bir şekilde çalışır ve soruna basit ve zarif bir çözümdür.
Mark

2

Alanlı bir görünümse, alanı tıklayın ve "Etiket oluştur" altındaki "Etiketin arkasına iki nokta üst üste koy" işaretini kaldırın.


2

Display suite de aynı işlevselliği sağlar:

Display suite ekstralarını etkinleştirirseniz, etiketlerden önce iki nokta üst üste işaretini kaldırma seçeneği vardır:

Bunun yolu: /admin/structure/ds/list/extras/

resim açıklamasını buraya girin


1
Bu, iki nokta üst üste kaldırmak daha LOT yapar. Özel CSS uyguladıysanız, bunu öldürürsünüz.
Mark

0

Benim durumumda tüm işlevi dosyama kopyalayarak ve okunan satırı değiştirerek theme_field()( field.module) geçersiz kılmaya çalıştı.template.php

$output .= '<div class="field-label"' . $variables['title_attributes'] . '>' . $variables['label'] . '&nbsp;</div>';

Denemeden önce önbellekleri temizleyin.


0

Drupal 8 için bu soruya hiçbir yerde cevap bulamadım. Drupal 8 ile, temel temanız olarak kullanıyorsanız, Classy çekirdek temasında bir CSS dosyası (field.css) ile iki nokta üst üste eklenir. Tek yapmanız gereken temanızdaki kendi CSS dosyanızda geçersiz kılmaktır.

Yani orijinal field.css dosyasından:

.field--label-inline .field__label::after {
    content: ':';
}

Benim tema CSS dosyasında iki nokta üst üste kaldırmak için:

.field--label-inline .field__label::after {
    content: '';
}
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.