ฉันพบการอ้างอิงทึบแสงถึง<hint/>
แท็กในsystem.xml
ไฟล์ การจัดการกับแท็กนี้คืออะไร มีการบันทึกการใช้งานทุกที่หรือไม่?
ฉันพบการอ้างอิงทึบแสงถึง<hint/>
แท็กในsystem.xml
ไฟล์ การจัดการกับแท็กนี้คืออะไร มีการบันทึกการใช้งานทุกที่หรือไม่?
คำตอบ:
ฉันไม่แน่ใจเกี่ยวกับ EE แต่ใน CE นี่คือแท็กร่องรอยจากระบบช่วยเหลือที่ไม่สมบูรณ์ ดูเหมือนว่าจะมีการให้ความตั้งใจที่จะให้แต่ละเขตข้อมูลฟอร์มในส่วนการกำหนดค่าระบบ "คำใบ้" เล็ก ๆ หรือข้อความช่วยเหลือ
ข้อความวิธีใช้จะถูกเพิ่มเมื่อสร้างองค์ประกอบของฟิลด์
#File: app/code/core/Mage/Adminhtml/Block/System/Config/Form.php
$hint = (string)$element->hint ? Mage::helper($helperName)->__((string)$element->hint) : '';
//...
$field = $fieldset->addField($id, $fieldType, array(
'name' => $name,
'label' => $label,
'comment' => $comment,
'tooltip' => $tooltip,
'hint' => $hint,
'value' => $data,
'inherit' => $inherit,
'class' => $element->frontend_class . $sharedClass . $requiresClass,
'field_config' => $element,
'scope' => $this->getScope(),
'scope_id' => $this->getScopeId(),
'scope_label' => $this->getScopeLabel($element),
'can_use_default_value' => $this->canUseDefaultValue((int)$element->show_in_default),
'can_use_website_value' => $this->canUseWebsiteValue((int)$element->show_in_website),
));
ว่าสายแรกอ่านค่าของที่อยู่ใน<hint/>
system.xml
ถัดไปเมื่อ Magento วาทกรรมฟิลด์เป็น HTML สิ่งสุดท้ายที่ทำคือเพิ่มคำใบ้ใน div ที่ซ้อนกัน
#File: app/code/core/Mage/Adminhtml/Block/System/Config/Form/Field.php
$html.= '<td class="">';
if ($element->getHint()) {
$html.= '<div class="hint" >';
$html.= '<div style="display: none;">' . $element->getHint() . '</div>';
$html.= '</div>';
}
$html.= '</td>';
สุดท้ายมีจาวาสคริปต์ที่เรียกใช้ในการโหลดหน้าผู้ดูแลระบบเล็กน้อย
#File: app/design/adminhtml/default/default/template/system/config/js.phtml
function showHint() {
$$('.hint').each(function(element){
Event.observe(element, 'mouseover', function(){
element.down().show()
});
Event.observe(element, 'mouseout', function(){
element.down().hide()
});
});
}
จาวาสคริปต์นี้ตั้งค่าตัวจัดการเหตุการณ์เพื่อให้ผู้ใช้เข้าหรือออกจากข้อความช่วยเหลือจะปรากฏขึ้น ความตั้งใจที่จะเป็น "คำใบ้" นี้จะช่วยให้ผู้ใช้เข้าใจว่าแต่ละฟิลด์ทำอะไร
ปัญหา? HTML / CSS บนแบ็กเอนด์ทำให้คำใบ้td
กว้างหนึ่งพิกเซล การทำเช่นนี้จะป้องกันไม่ให้ใครก็ตามที่ใช้คำใบ้ดู ลองเพิ่มคำใบ้ในการกำหนดค่าเขตข้อมูลของคุณแล้วเรียกใช้สิ่งต่อไปนี้จากคอนโซลจาวาสคริปต์ของเบราว์เซอร์ของคุณ
$$('.hint').each(function(el){
el.down().show();
});
คุณจะเห็นอะไรเช่นนี้
( นี่คือข้อความคำใบ้ )
ฉันมักจะพูดติดปากเรื่องนี้ในฐานะที่เป็นหนึ่งใน "แผนเลย์เอาต์ที่ดีที่สุด" ที่ตกลงมาเมื่อวีโอไอพีเปิดตัว