I have some problems with my custom modul.
This is my config.xml
<?xml version="1.0"?>
<config>
<modules>
<Mymodule_Marques>
<version>0.0.2</version>
</Mymodule_Marques>
</modules>
<global>
<blocks>
<marques>
<class>Mymodule_Marques_Block</class>
</marques>
</blocks>
<helpers>
<marques>
<class>Mymodule_Marques_Helper</class>
</marques>
</helpers>
<models>
<marques>
<class>Mymodule_Marques_Model</class>
<resourceModel>mymodule_marques_resource</resourceModel>
</marques>
<mymodule_marques_resource>
<class>Mymodule_Marques_Model_Resource</class>
<entities>
<marque>
<table>mymodule_marques</table>
</marque>
</entities>
</mymodule_marques_resource>
</models>
<resources>
<marques_setup>
<setup>
<module>Mymodule_Marques</module>
</setup>
</marques_setup>
<mymodule_marques_read>
<connection>
<use>core_read</use>
</connection>
</mymodule_marques_read>
<mymodule_marques_write>
<connection>
<use>core_write</use>
</connection>
</mymodule_marques_write>
</resources>
</global>
<admin>
<routers>
<marques>
<use>admin</use>
<args>
<module>Mymodule_Marques</module>
<frontName>marques</frontName>
</args>
</marques>
</routers>
</admin>
<adminhtml>
<layout>
<updates>
<marques>
<file>marques.xml</file>
</marques>
</updates>
</layout>
</adminhtml>
this is my controller
<?php
class Mymodule_Marques_Adminhtml_MarquesController extends
Mage_Adminhtml_Controller_Action {
public function _initAction() {
$this->loadLayout()
->_setActiveMenu('cms');
return $this;
}
public function indexAction() {
$this->_title(Mage::helper('marques')->__('Choose store'));
$this->_initAction()
->renderLayout();
return;
}
public function clickAction() {
$this->_title(Mage::helper('marques')->__('choose brands'));
$this->_initAction()
->renderLayout();
return;
}
public function editAction() {
$this->_title(Mage::helper('marques')->__('edit brands'));
$this->_initAction()
->renderLayout();
return;
}
}
in my folder Block/Adminhtml , i create new folder Edit with this files: Tabs.php =>
<?php
class Mymodule_Marques_Block_Adminhtml_Edit_Tabs extends
Mage_Adminhtml_Block_Widget_Tabs {
public function __construct() {
parent::__construct();
$this->setId('marques_tabs');
$this->setDestElementId('edit_form');
}
protected function _beforeToHtml() {
$cpt = 0;
$blocks = Mage::helper("marques")->getBlocks(Mage::app()->getRequest()->getParam("store_id"));
if($blocks){
foreach ($blocks as $block) {
$cpt++;
$this->addTab('block_'.$cpt, array(
'label' => Mage::helper('marques')->__('Block '.$cpt),
'title' => Mage::helper('marques')->__('Block '.$cpt),
'content' => $this->getLayout()->createBlock('marques/adminhtml_edit_tab_block')->setBlockNumber($cpt)->setBlock($block)->toHtml(),
));
}
}
while ($cpt < 3) {
$cpt++;
$this->addTab('block_'.$cpt, array(
'label' => Mage::helper('marques')->__('Block '.$cpt),
'title' => Mage::helper('marques')->__('Block '.$cpt),
'content' => $this->getLayout()->createBlock('marques/adminhtml_edit_tab_block')->setBlockNumber($cpt)->toHtml(),
));
}
}
}
this is my file Form.php
<?php
class Mymodule_Marques_Block_Adminhtml_Edit_Form extends
Mage_Adminhtml_Block_Widget_Form {
protected function _prepareForm() {
$form = new Varien_Data_Form(array(
'id' => 'edit_form',
'action' => $this->getUrl('*/*/save', array('id' => $this->getRequest()->getParam('id'))),
'method' => 'post',
'enctype' => 'multipart/form-data'
)
);
$form->setUseContainer(true);
$this->setForm($form);
return parent::_prepareForm();
}
}
Abd i create a new folder in Edit, this name is Tab with file Block.php
<?php
class Mymodule_Marques_Block_Adminhtml_Edit_Tab_Block extends
Mage_Adminhtml_Block_Widget_Form implements
Mage_Adminhtml_Block_Widget_Tab_Interface {
protected function _prepareForm() {
$form = new Varien_Data_Form();
$fieldset = $form->addFieldset('block_'.$this->getBlockNumber().'_fieldset', array('legend' => Mage::helper('marques')->__("Block ".$this->getBlockNumber())));
if ($this->getBlock()) {
$fieldset->addField('marques_id', 'hidden', array(
'name' => 'block['.$this->getBlockNumber().'][marques_id]'
));
$fieldset->addField('store_id', 'hidden', array(
'name' => 'block['.$this->getBlockNumber().'][store_id]',
));
}else{
$fieldset->addField('store_id', 'hidden', array(
'name' => 'block['.$this->getBlockNumber().'][store_id]',
'value' => Outdoordiffusion_Home_Model_Home_Type::TYPE_TROISBLOCS
));
$fieldset->addField('type', 'hidden', array(
'name' => 'block['.$this->getBlockNumber().'][type]',
'value' => Mage::app()->getRequest()->getParam("store_id")
));
}
$fieldset->addField('image', 'image', array(
'label' => Mage::helper('marques')->__('Image'),
'name' => 'block'.$this->getBlockNumber().'_image',
'required' => true,
'note' => $this->__("Dimensions : 376px x 218px.")
));
$fieldset->addField('label', 'text', array(
'label' => Mage::helper('home')->__('Label'),
'name' => 'block['.$this->getBlockNumber().'][label]',
'required' => true,
));
$fieldset->addField('url', 'text', array(
'label' => Mage::helper('marques')->__('Url'),
'name' => 'block['.$this->getBlockNumber().'][url]',
'required' => true,
));
$fieldset->addField('position', 'text', array(
'label' => Mage::helper('marques')->__('Position'),
'name' => 'block['.$this->getBlockNumber().'][position]',
));
$fieldset->addField('onclick', 'text', array(
'label' => Mage::helper('marques')->__('Onclick'),
'name' => 'block['.$this->getBlockNumber().'][onclick]',
'note' => $this->__("Exemple : ga('send', 'event', 'event1', 'event1', 'event1');")
));
if ($this->getBlock()) {
$form->setValues($this->getBlock()->getData());
}
$this->setForm($form);
return parent::_prepareForm();
}
public function getTabLabel() {
return Mage::helper('marques')->__('Block '.$this->getBlockNumber());
}
public function getTabTitle() {
return Mage::helper('marques')->__('Block '.$this->getBlockNumber());
}
public function canShowTab() {
return true;
}
public function isHidden() {
return false;
}
}
This my file marques.xml in design/adminhtml/layout
<?xml version="1.0"?>
<layout version="0.1.0">
<marques_adminhtml_marques_index>
<reference name="content">
<block type="marques/adminhtml_store" name="marques_store" />
</reference>
</marques_adminhtml_marques_index>
<marques_adminhtml_marques_click>
<reference name="content">
<block type="marques/adminhtml_click_marques" name="marques_grid" />
</reference>
</marques_adminhtml_marques_click>
<marques_adminhtml_marques_edit>
<reference name="left">
<block type="marques/adminhtml_edit_tabs" name="marques_edit_tabs" />
</reference>
</marques_adminhtml_marques_edit>
</layout>
And this is my helper how call my model marque
<?php
class Mymodule_Marques_Helper_Data extends Mage_Core_Helper_Abstract {
public function getBlocks($storeId = null){
$blocks = Mage::getModel("marques/marque")->getCollection();
var_dump($blocks);
echo get_class(Mage::getModel('marques/marque'));exit;
}
}
this is my MODEL with file marque and folder Resource and collection.php
<?php
class Mymodule_Marques_Model_Marque extends Mage_Core_Model_Abstract {
public function _construct() {
parent::_construct();
$this->_init('mymodule_marques/marque');
}
}
this is my resource
<?php
class Mymodule_Marques_Model_Resource_Marque extends
Mage_Core_Model_Resource_Db_Abstract
{
public function _construct() {
$this->_init('mymodule_marques/marque', 'marques_id');
}
}
and this is my collection
<?php
class Mymodule_Marques_Model_Resource_Marque_Collection extends
Mage_Core_Model_Resource_Db_Collection_Abstract
{
protected function _construct() {
parent::_construct();
$this->_init('mymodule_marques/marque');
}
}
In my admin i have an errors this =>
$blocks = Mage::getModel("marques/marque")->getCollection(); return false
Can you help , what I do not see ????
Thank