ต้องเพิ่มอักขระ HTML เพื่อเลือกรายการ


9

ฉันมีแบบฟอร์มที่ใช้ FAPI ที่มีรายการค่าสกุลเงินที่เลือกเป็นหนึ่งในอินพุต ฉันต้องสามารถเพิ่มอักขระ HTML เช่น€ $pound; ¥

ปัญหาคือ Drupal กำลังกรองอินพุตและไม่แสดงสัญลักษณ์ที่ต้องการ แต่แสดงรหัส html ตามที่แสดงด้านบน

มีวิธีใดที่ Drupal จะไม่กรองรายการของฉัน?

คำตอบ:


4

คุณสามารถและควรใส่อักขระ UTF-8 สำหรับสัญลักษณ์ในรายการของคุณ เอนทิตี HTML เป็นที่ระลึกจากอดีตเมื่อเป็นไปได้ว่าสัญลักษณ์บางอย่างไม่มีการแสดงในหน้ารหัสที่ใช้งานอยู่ ดังนั้นเพียงใช้€, £และ¥ในรายการของคุณ

Drupal คือ UTF-8 จากด้านหลังถึงด้านหน้าใช้งาน


ขอบคุณสำหรับการตอบกลับง่าย ๆ แต่น่าเสียดายที่มันไม่ง่ายอย่างที่คิด การใส่อักขระ UTF-8 เพียงอย่างเดียวอาจไม่ทำงาน ฉันต้อง: ตรวจสอบ php.ini เพื่อให้แน่ใจว่าชุดอักขระเริ่มต้นของฉันคือ ut8-f ตรวจสอบให้แน่ใจว่าส่วนหัวของฉันมี <meta http-equiv = "เนื้อหาประเภท" เนื้อหา = "ข้อความ / html; charset = utf-8" /> ใน พวกเขาและสำคัญที่สุด .. ตรวจสอบให้แน่ใจว่าหน้าเว็บของคุณได้รับการบันทึกเป็น utf-8 ในกรณีของฉันฉันต้องคลิกขวาที่หน้าของฉันใน eclipse เพื่อเปิดกล่องโต้ตอบคุณสมบัติ จากที่นี่ฉันต้องให้แน่ใจว่าเขาเข้ารหัสคุณลักษณะไฟล์ข้อความถูกตั้งค่าเป็น UTF-8 ฉันต้องทำสิ่งนี้กับทุกหน้าเช่น page.tpl และรวมถึงใด ๆ
Kevin Bradshaw

ทั้งหมดนี้ควรเป็นมาตรฐานเมื่อมีการพัฒนาใน Drupal เมตาแท็กชนิดเนื้อหาถูกเพิ่มโดย Drupal (อย่างน้อยใน D6, บางทีใน D7 จะถูกเพิ่มเข้ากับธีม แต่ถึงอย่างนั้นแต่ละธีมก็จะแสดงผล utf-8 เป็นชุดอักขระ) และ Eclipse ใช่แล้วมันเป็นความอัปยศที่ Eclipse มาพร้อมกับสิ่งอื่นนอกเหนือจาก utf-8 เป็นค่าเริ่มต้น อย่าลืมกำหนดมาตรฐานพื้นที่ทำงานเป็น utf-8 เพื่อป้องกันปัญหาเดียวกันกับโครงการในอนาคต
fietserwin

1

ในฐานะที่เป็นโซลูชันคุณอาจใช้คุณสมบัติ #after_build สำหรับองค์ประกอบแบบฟอร์มของคุณ

สมมติว่าคุณมีตัวแปร $ options พร้อมตัวเลือกสำหรับเลือก

$form['myselect']['options'] = $options;
$form['myselect']['#after_build'][] = 'custom_select_formatter';

จากนั้นคุณต้องกำหนดฟังก์ชั่นการจัดรูปแบบของคุณเช่น

function  custom_select_formatter($form_element, $form_state){

$options = $form_element['#options'] //you can use your option values
}

ที่นี่คุณสามารถกำหนดองค์ประกอบที่เลือกใหม่ได้แม้ว่าคุณจะ #theme เพิ่ม #prefix #suffix

อีกวิธีแก้ปัญหาอาจเป็นได้ว่า l () ฟังก์ชั่นในตัวอย่างนี้ใช้ตัวเลือก html เมื่อสร้างการเชื่อมโยงกับภาพบางทีองค์ประกอบที่เลือกก็ใช้มัน

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