Ẩn nhãn trường


22

Có cách nào để ẩn nhãn trường khi hiển thị trường tùy chỉnh trong Drupal 7 không?

Trong mẫu nút của tôi, tôi có:

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

Cung cấp cho tôi:

<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>

Tôi muốn không có <div class="field-label">Image:&nbsp;</div>.

Có cách nào để loại bỏ điều này ngoài CSS hay tự tạo đánh dấu không?

Tôi đã thử unset($content['field_image']['#title']), nhưng điều đó mang lại cho tôi <div class="field-label">:&nbsp;</div>.


7
Không bao giờ tôi tìm ra nó, bạn đặt #label_display thành ẩn: <?php $content['field_image']['#label_display'] = 'hidden'; ?>
Ben

1
Bạn có thể thêm nó dưới dạng câu trả lời và chấp nhận nó, để rõ ràng câu trả lời được giải quyết.
Berdir

tôi có vấn đề tương tự nhưng tôi muốn làm một mẫu trường cho nút của tôi. làm thế nào tôi có thể ? thay vì xóa nhãn

+1 cho câu hỏi của bạn, Ben, nhưng câu trả lời được chấp nhận của bạn phải là câu trả lời của @ Marta bên dưới. KHÔNG cần phải viết MỌI MÃ cho vấn đề này! Truy cập: admin / cấu trúc / loại / quản lý / LOẠI NỘI DUNG / hiển thị của bạn để hiển thị danh sách các trường và bên dưới Nhãn, chọn <Ẩn> từ menu thả xuống. Nhấp vào nút Lưu. Câu trả lời này nên áp dụng cho các loại trường, có lẽ tất cả chúng, không chỉ các tệp.
trị liệu

Câu trả lời:


24

Thay vì mã hóa cài đặt cho nhãn trường trong mẫu, thay vào đó bạn nên sử dụng cài đặt bên dưới Manage displaytab nơi bạn thêm và xóa các trường cho thực thể của mình.


Googletorp, làm thế nào để bạn ẩn nhãn của tiêu đề sau đó?

1
Nếu bạn chỉnh sửa loại nội dung, bạn có thể thay đổi giá trị trong Title field label. Có một chút khó chịu khi tiêu đề vẫn là bắt buộc, nhưng đó là cuộc sống tôi đoán.
Malks

1
Có thể hiển thị nhãn trường khác nhau khi tạo nội dung và khi hiển thị công khai không?
Jay

@Jay có thể, nhưng sẽ yêu cầu mã, tùy chỉnh hoặc thông qua một mô-đun. Tôi không biết bất kỳ mô-đun nào làm điều này cho bạn ngay bây giờ mặc dù.
googletorp

1
Ben, câu trả lời được chấp nhận của bạn phải là câu trả lời của @ Marta bên dưới. Không cần phải viết bất kỳ mã! Truy cập: admin / cấu trúc / loại / quản lý / LOẠI NỘI DUNG / hiển thị của bạn để hiển thị danh sách các trường và bên dưới Nhãn, chọn <Ẩn> từ menu thả xuống. Nhấp vào nút Lưu. Câu trả lời này nên áp dụng cho các loại trường, có lẽ tất cả chúng, không chỉ các tệp.
trị liệu

11

Để ẩn tên của trường tùy chỉnh (trường tệp trong trường hợp này với tên "tệp") để chỉ hiển thị danh sách các tệp có thể tải xuống và không phải tên của trường, hãy làm như sau:

  • Chọn Loại nội dung có chứa trường tệp (Tôi đã tạo một loại mới gọi là "Danh sách tệp")
  • Điều hướng đến tab "Quản lý trường"
  • Trong Nhãn chọn "Ẩn" và cho Định dạng, "Tệp chung"
  • Lưu và tạo một nút mới của loại nội dung này và tên "tệp" sẽ không còn được hiển thị

2
Câu trả lời của +1 @ Marta ở trên phải là câu trả lời được chấp nhận - quản trị viên / cấu trúc / loại / quản lý / LOẠI NỘI DUNG / hiển thị của bạn để hiển thị danh sách các trường và bên dưới Nhãn, chọn <Ẩn> từ menu thả xuống. Nhấp vào nút Lưu. Câu trả lời này nên áp dụng cho các loại trường, có lẽ tất cả chúng, không chỉ các tệp.
trị liệu

Tôi đồng ý! Bạn càng làm ít với mã hóa hoặc css trong drupal thì càng tốt :)
jasonflaherty 18/03/2016


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

Câu trả lời tốt nhất cho trường hợp sử dụng của tôi.
Kiee

4

sử dụng mẫu field.tpl.phpbạn có thể xóa hoặc tùy chỉnh nhãn ( $labeltrong mẫu) của trường của bạn. để sử dụng nó, bạn phải thêm trường mẫu field.tpl.phpvào chủ đề của mình:

<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>
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.