I'm trying to write my first extension for magento. So I'm going through some tutorials to figure it out.
However I'm running into a problem with displaying some options in the backend configuration.
My directory looks like this
--R2retail
/--HelloWorldTut
/--Block
/--controllers
/--etc
/--config.xml
/--system.xml
/--Helper
/--Data.php
/--Model
/--Options.php
/--sql
I only listed the files that are relevant here.
My R2retail_HelloWorldTut
file that is in /app/etc/modules/
looks as follows
<?xml version="1.0"?>
<config>
<modules>
<R2retail_HelloWorldTut>
<active>true</active>
<codePool>local</codePool>
</R2retail_HelloWorldTut>
</modules>
</config>
my config.xml
looks like this
<?xml version="1.0"?>
<config>
<modules>
<R2retail_HelloWorldTut>
<version>0.1.0</version>
</R2retail_HelloWorldTut>
</modules>
<global>
<helpers>
<helloworldtut>
<class>R2retail_HelloWorldTut_Helper</class>
</helloworldtut>
</helpers>
<models>
<class>R2retail_HelloWorldTut_Model</class>
</models>
</global>
<frontend>
<routers>
<helloworldtut>
<use>standard</use>
<args>
<module>R2retail_HelloWorldTut</module>
<frontName>helloworld</frontName>
</args>
</helloworldtut>
</routers>
</frontend>
<adminhtml>
<acl>
<resources>
<admin>
<children>
<config>
<children>
<helloworldtut_options>
<title>R2retail Modules</title>
</helloworldtut_options>
</children>
</config>
</children>
</admin>
</resources>
</acl>
</adminhtml>
</config>
My system.xml
looks like this (I suspect the error is here somewhere)
<?xml version="1.0"?>
<config>
<tabs>
<helloworldtut translate="label" module="helloworldtut">
<label>Custom Configuration Tab</label>
<sort_order>1</sort_order>
</helloworldtut>
</tabs>
<sections>
<helloworldtut_options translate="label" module="helloworldtut">
<label>Custom Configuration Settings</label>
<tab>helloworldtut</tab>
<frontend_type>text</frontend_type>
<sort_order>1</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
<groups>
<section_one translate="label">
<label>Section One</label>
<frontend_type>text</frontend_type>
<sort_order>1</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
<fields>
<custom_field_one>
<label>Custom Text Field</label>
<frontend_type>text</frontend_type>
<sort_order>1</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
<comment>Example of text field.</comment>
</custom_field_one>
</fields>
</section_one>
<secttion_two translate="label">
<label>Section Two</label>
<frontend_type>text</frontend_type>
<sort_order>2</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
<fields>
<custom_field_two>
<label>Custom Select Field</label>
<frontend_type>select</frontend_type>
<source_model>helloworldtut/options</source_model>
<sort_order>1</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
<comment>Example of select field.</comment>
</custom_field_two>
<custom_field_three>
<label>Custom Radio Field</label>
<frontend_type>radios</frontend_type>
<source_model>helloworldtut/options</source_model>
<sort_order>1</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
<comment>Example of Radio Buttons</comment>
</custom_field_three>
<custom_field_four>
<label>Custom Multiselect Field</label>
<frontend_type>multiselect</frontend_type>
<source_model>helloworldtut/options</source_model>
<sort_order>1</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
<comments>Example of Multiselect field</comments>
</custom_field_four>
</fields>
</secttion_two>
</groups>
</helloworldtut_options>
</sections>
</config>
When I comment out the second section. the configuration page loads without any problems. so it goes wrong as soon as I do <source_model>helloworldtut/options</source_model>
My Data.php
looks like this
<?php
/**
* Sample Widget Helper
*/
class R2retail_HelloWorldTut_Helper_Data extends Mage_Core_Helper_Abstract
{
}
and finally my Options.php
looks like this
<?php
class R2retail_HelloWorldTut_Model_Options {
/**
* Provide available options as a value/label array
*
* @return array
*/
public function toOptionArray()
{
return array(
array('value'=>1, 'label'=>'One'),
array('value'=>2, 'label'=>'Two'),
array('value'=>3, 'label'=>'Three'),
array('value'=>4, 'label'=>'Four')
);
}
}
I hope someone can help me figure out where I'm going wrong