Làm cách nào để thêm trường ngày trong system.xml?


Câu trả lời:


16

Nếu bạn thêm phần sau vào tệp system.xml của bạn

<frontend_type>text</frontend_type>
<frontend_model>namespace_module/adminhtml_system_config_date</frontend_model>

Sau đó tạo tập tin sau:

ứng dụng / mã / [codePool] /Namespace/Module/Block/Adminhtml/System/Config/Date.php

class Namespace_Module_Block_Adminhtml_System_Config_Date extends Mage_Adminhtml_Block_System_Config_Form_Field
{
    protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
    {
        $date = new Varien_Data_Form_Element_Date();
        $format = Mage::app()->getLocale()->getDateFormat(Mage_Core_Model_Locale::FORMAT_TYPE_SHORT);

        $data = array(
            'name'      => $element->getName(),
            'html_id'   => $element->getId(),
            'image'     => $this->getSkinUrl('images/grid-cal.gif'),
        );
        $date->setData($data);
        $date->setValue($element->getValue(), $format);
        $date->setFormat(Mage::app()->getLocale()->getDateFormat(Mage_Core_Model_Locale::FORMAT_TYPE_SHORT));
        $date->setForm($element->getForm());

        return $date->getElementHtml();
    }
}

Điều này giả sử rằng bạn đã có thiết lập khối cho mô-đun này trong tệp config.xml


@Sukeshini, Đối với các khối trong tệp config.xml, bạn cần thêm <blocks> <module> <class> Namespace_Module_Block </ class> </ module> </ blocks>
Mukesh

Xin lưu ý rằng ngày sẽ được lưu trong ngôn ngữ do quản trị viên của bạn đặt. Điều này có thể gây ra vấn đề. Ví dụ: định dạng ngày của tiếng Hà Lan là dd-MM-YYYY. Điều này sẽ được lưu dưới dạng một chuỗi trong cơ sở dữ liệu của bạn ở định dạng này. Các quy trình khác phụ thuộc vào ngày này có thể không hoạt động đúng. Ví dụ: khi tạo tệp PDF, ngôn ngữ được Magento trả về là en_US, ngay cả khi quản trị viên được đặt thành thứ gì đó khác. Điều này có thể gây ra kết quả không lường trước.
Giel Berkers
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.