ซ่อนป้ายฟิลด์


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'; ?>
เบน

1
คุณสามารถเพิ่มคำตอบนั้นเป็นคำตอบและยอมรับเพื่อให้ชัดเจนคำตอบนั้นได้รับการแก้ไข
Berdir

ฉันมีปัญหาเดียวกัน แต่ฉันต้องการทำแม่แบบฟิลด์สำหรับโหนดของฉัน ฉันสามารถ ? แทนที่จะลบฉลาก

+1 สำหรับคำถามของคุณเบ็น แต่คำตอบที่คุณยอมรับควรเป็นคำตอบของ @ Marta ด้านล่าง ไม่จำเป็นต้องเขียนรหัสใด ๆ สำหรับปัญหานี้! ไปที่: ผู้ดูแลระบบ / โครงสร้าง / ประเภท / จัดการ / ประเภทเนื้อหาของคุณ / จอแสดงผลเพื่อแสดงรายการเขตข้อมูลของคุณและภายใต้ป้ายกำกับให้เลือก <ซ่อน> จากเมนูแบบเลื่อนลง คลิกปุ่มบันทึก คำตอบนี้ควรนำไปใช้กับชนิดของฟิลด์บางทีทั้งหมดอาจไม่ใช่เฉพาะไฟล์
therobyouknow

คำตอบ:


24

แทนที่จะฮาร์ดโค้ดที่การตั้งค่าสำหรับเลเบลของฟิลด์ในเทมเพลตคุณควรใช้การตั้งค่าภายใต้Manage displayแท็บที่คุณเพิ่มและลบฟิลด์สำหรับเอนทิตีของคุณ


Googletorp คุณจะซ่อนป้ายกำกับของชื่อได้อย่างไร

1
หากคุณแก้ไขประเภทเนื้อหาคุณสามารถเปลี่ยนค่าTitle field labelได้ มันค่อนข้างน่ารำคาญที่ชื่อนั้นยังคงเป็นข้อบังคับ แต่นั่นคือชีวิตที่ฉันเดา
Malks

1
เป็นไปได้ไหมที่จะแสดงเลเบลของฟิลด์ต่างกันเมื่อสร้างเนื้อหาและเมื่อแสดงแบบสาธารณะ?
Jay

@ อาจเป็นไปได้ แต่ต้องการรหัสไม่ว่าจะเป็นแบบกำหนดเองหรือผ่านโมดูล ฉันไม่รู้โมดูลที่ทำสิ่งนี้เพื่อคุณในตอนนี้
googletorp

1
เบ็นคำตอบที่คุณยอมรับควรเป็นคำตอบของ @ Marta ด้านล่าง ไม่จำเป็นต้องเขียนโค้ดใด ๆ ! ไปที่: ผู้ดูแลระบบ / โครงสร้าง / ประเภท / จัดการ / ประเภทเนื้อหาของคุณ / จอแสดงผลเพื่อแสดงรายการเขตข้อมูลของคุณและภายใต้ป้ายกำกับให้เลือก <ซ่อน> จากเมนูแบบเลื่อนลง คลิกปุ่มบันทึก คำตอบนี้ควรนำไปใช้กับชนิดของฟิลด์บางทีทั้งหมดอาจไม่ใช่เฉพาะไฟล์
therobyouknow

11

หากต้องการซ่อนชื่อของฟิลด์ที่กำหนดเอง (ฟิลด์ไฟล์ในกรณีนี้ด้วยชื่อ "ไฟล์") เพื่อแสดงเฉพาะรายการไฟล์ที่ดาวน์โหลดได้และไม่ใช่ชื่อของฟิลด์ดังต่อไปนี้:

  • เลือกประเภทเนื้อหาที่มีฟิลด์ไฟล์ (ฉันสร้างประเภทใหม่ที่เรียกว่า "รายการไฟล์")
  • ไปที่แท็บ "จัดการฟิลด์"
  • ใต้ป้ายกำกับให้เลือก "ซ่อน" และสำหรับรูปแบบ "ไฟล์ทั่วไป"
  • บันทึกและสร้างโหนดใหม่ของประเภทเนื้อหานี้และไม่ควรแสดงชื่อ "ไฟล์" อีกต่อไป

2
+1 @ Marta คำตอบข้างต้นควรเป็นคำตอบที่ได้รับการยอมรับ - ผู้ดูแลระบบ / โครงสร้าง / ประเภท / จัดการ / ประเภทเนื้อหาของคุณ / แสดงผลเพื่อแสดงรายการเขตข้อมูลของคุณและภายใต้ป้ายกำกับให้เลือก <Hidden> จากเมนูแบบเลื่อนลง คลิกปุ่มบันทึก คำตอบนี้ควรนำไปใช้กับชนิดของฟิลด์บางทีทั้งหมดอาจไม่ใช่เฉพาะไฟล์
therobyouknow

ฉันเห็นด้วย! ยิ่งคุณทำรหัสหรือ css น้อยลงเท่าไหร่ก็ยิ่งดีเท่านั้น :)
jasonflaherty



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>
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.