Сховати мітку поля


22

Чи є спосіб приховати мітку поля під час надання користувальницького поля в Drupal 7?

У своєму шаблоні вузла я маю:

<?php print render($content['field_image']); ?>

Що дає мені:

<div class="field field-name-field-image field-type-image field-label-above">
  <div class="field-label">Image:&nbsp;</div>
  <div class="field-items">
    <div class="field-item even">
      <img typeof="foaf:Image" src="http://site.com/sites/default/files/image.jpg" alt="">
    </div>
  </div>
</div>

Я хотів би не мати цього <div class="field-label">Image:&nbsp;</div>.

Чи є спосіб позбутися цього іншого, ніж у CSS або створити розмітку вручну?

Я спробував unset($content['field_image']['#title']), але це дає мені <div class="field-label">:&nbsp;</div>.


7
Не маю на увазі, я це зрозумів, ти встановив #label_display на прихований: <?php $content['field_image']['#label_display'] = 'hidden'; ?>
Ben

1
Ви можете додати це як відповідь і прийняти його, щоб було зрозуміло, що відповідь буде вирішена.
Бердір

У мене була така ж проблема, але я хочу зробити шаблон поля для свого вузла. як я можу ? замість видалення мітки

+1 на ваше запитання, Бен, але ваша прийнята відповідь повинна бути відповіддю @ Марти нижче. НЕ потрібно писати БЕЗ КОДУ для цієї проблеми! Перейдіть до: адміністратор / структура / типи / керування / ВАШ ТИП ВМІСТУ / дисплей, щоб відобразити свій список полів та під міткою виберіть у спадному меню пункт <Приховано>. Натисніть кнопку Зберегти. Ця відповідь має стосуватися типів полів, можливо, всіх, а не лише файлів.
therobyouknow

Відповіді:


24

Замість жорсткого кодування налаштування для міток полів у шаблоні слід замість цього використовувати параметр на Manage displayвкладці, де ви додаєте та видаляєте поля для вашої сутності.


Googletorp, як ви приховуєте ярлик заголовка?

1
Якщо ви редагуєте тип вмісту, ви можете змінити значення в Title field label. Трохи дратує те, що заголовок все ще є обов’язковим, але я думаю, це життя.
Малкс

1
Чи можна по-різному відображати мітки поля під час створення вмісту та при його публічному відображенні?
Джей

@Jay це було б можливо, але вимагав би код, або спеціальний, або через модуль. Я не знаю жодного модуля, який робить це для вас зараз.
googletorp

1
Бен, ваша прийнята відповідь повинна бути відповіддю @ Марти нижче. Не потрібно писати жодного коду! Перейдіть до: адміністратор / структура / типи / керування / ВАШ ТИП ВМІСТУ / дисплей, щоб відобразити свій список полів та під міткою виберіть у спадному меню пункт <Приховано>. Натисніть кнопку Зберегти. Ця відповідь має стосуватися типів полів, можливо, всіх, а не лише файлів.
therobyouknow

11

Щоб приховати ім’я користувацького поля (поле файлу в даному випадку з назвою "файл"), щоб відобразити лише список файлів, що завантажуються, а не ім'я поля, виконайте наступне:

  • Виберіть Тип вмісту, що містить поле файлу (я створив новий тип під назвою "Список файлів")
  • Перейдіть на вкладку "Керування полями"
  • Під міткою виберіть "Прихований", а для формату - "Загальний файл"
  • Збережіть і створіть новий вузол цього типу вмісту, а ім'я "файл" більше не повинно відображатися

2
+1 @ Відповідь Марти вище має бути прийнятою відповіддю - адміністратор / структура / типи / керування / ВАШ ТИП ВМІСТУ / дисплей для відображення списку полів та під міткою виберіть <Прихований> зі спадного меню. Натисніть кнопку Зберегти. Ця відповідь має стосуватися типів полів, можливо, всіх, а не лише файлів.
therobyouknow

Я згоден! Чим менше ви займаєтесь кодуванням або css в друпалі, тим краще :)
jasonflaherty


7
$content['field_image']['#label_display']='hidden';

Найкраща відповідь у моєму випадку використання.
Кії

4

за допомогою шаблону field.tpl.phpви можете видалити або налаштувати мітку ( $labelу шаблоні) вашого поля. щоб його використовувати, ви повинні додати поле шаблону field.tpl.phpдо своєї теми:

<div class="<?php print $classes; ?>"<?php print $attributes; ?>>
  <?php if (!$label_hidden): ?>
    <div class="field-label"<?php print $title_attributes; ?>><?php print $label ?>:&nbsp;</div>
  <?php endif; ?>
  <div class="field-items"<?php print $content_attributes; ?>>
    <?php foreach ($items as $delta => $item): ?>
      <div class="field-item <?php print $delta % 2 ? 'odd' : 'even'; ?>"<?php print $item_attributes[$delta]; ?>><?php print render($item); ?></div>
    <?php endforeach; ?>
  </div>
</div>
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.