سؤال

أحاول إنشاء نظام التكوين القسم مخصص مجال القيم

هذا هو قانون بلدي:

system.xml

<?xml version="1.0"?>
<config>
    <tabs>
        <macerierconf translate="label">
            <label>Macerier</label>
            <sort_order>150</sort_order>
        </macerierconf>
    </tabs>
    <sections>
        <tab1 translate="label" module="adminhtml">
            <label>Settings</label>
            <tab>macerierconf</tab>
            <sort_order>100</sort_order>
            <show_in_default>1</show_in_default>
            <show_in_website>1</show_in_website>
            <show_in_store>1</show_in_store>
            <groups>
                <smssending translate="label comment">
                    <label>test label</label>
                    <sort_order>60</sort_order>
                    <show_in_default>1</show_in_default>
                    <show_in_website>1</show_in_website>
                    <show_in_store>1</show_in_store>
                    <fields>
                        <device translate="label comment">
                            <label>Device</label>
                            <frontend_type>select</frontend_type>
                            <source_model>macerier_test/system_config_source_dropdown_values</source_model>
                            <sort_order>30</sort_order>
                            <show_in_default>1</show_in_default>
                            <show_in_website>0</show_in_website>
                            <show_in_store>0</show_in_store>
                        </device>
                    </fields>
                </smssending>
            </groups>
        </tab1>
    </sections>
</config>

config.xml

<?xml version="1.0"?>
<config>
    <modules>
        <Macerier_TEST>
            <version>0.1.0</version>
        </Macerier_TEST>
    </modules>
    <global>
        <models>
            <macerier_test>
                <class>Macerier_TEST_Model</class>
            </macerier_test>
        </models>
    </global>
</config>

ثم في Macerier\TEST\Model\System\Config\Source\Dropdown\Values.php لدي هذا:

<?php

class Macerier_TEST_Model_System_Config_Source_Dropdown_Values
{
    public function toOptionArray()
    {
        return array(
            array(
                'value' => 'key1',
                'label' => 'Value 1',
            ),
            array(
                'value' => 'key2',
                'label' => 'Value 2',
            ),
        );
    }
}

وأنا الحصول على هذا الخطأ:

PHP خطأ فادح:استدعاء دالة عضو toOptionArray() على غير كائن في /home/user/public_html/magento/app/code/core/Mage/Adminhtml/Block/System/Config/Form.php على خط 463

وأنا متأكد من أن نفعل شيئا خطأ هنا لأنه من دون مخصص نموذج المصدر إن وحدة العمل.

هل كانت مفيدة؟

المحلول

المنسدلة لا يمكن الحصول عليها نموذج المصدر

macerier_test/system_config_source_dropdown_values هذا السبب في أنه تبين خطأ

قد تكون أنت لم تحدد نموذج البادئة.

كما في التعليمات البرمجية الخاصة بك macerier_test .هي نماذج البادئة

لذلك دعونا تحديد نموذج البادئة في config.xml

config.xml

<?xml version="1.0"?>
<config>
    <modules>
        <Macerier_TEST>
            <version>0.1.0</version>
        </Macerier_TEST>
    </modules>
    <!-- add this -->
    <global>
    <models>
        <macerier_test> <!-- call as model prefix identifier -->
            <class>Macerier_TEST_Model</class>
        </macerier_test>
    </models>
    </global>

</config>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى magento.stackexchange
scroll top