Cómo decirle a la tabla que debe tomar en preparar método de colección?
-
12-12-2019 - |
Pregunta
A partir de este Cambio de nombre de la tabla de administración de la cuadrícula de colecciones hilo, uno duda de que ha llegado a ser.
Si hemos estado utilizando 2 tabla en nuestro módulo personalizado, ¿cómo decirle a la tabla que debe tomar en preparar método de colección?
Eagarly a la espera de su respuesta!
Solución
Múltiples modelos para un módulo con Una Tabla para cada Modelo
La creación de Múltiples modelos un modelo es fácil.usted necesita define multiple entities
a su Module Model resourceModel
y corresponding entity entity_id Table
.
Ejemplo:
<custommodule_resource>
<class>Amit_Custommodule_Model_Resource</class>
<entities>
<custommoduleone>
<table>custommoduleTestOne</table>
</custommoduleone>
<custommoduletwo>
<table>custommoduleTestTwo</table>
</custommoduletwo>
</entities>
</custommodule_resource>
Modelo completo de código para el Módulo:
<models>
<custommodule>
<class>Amit_Custommodule_Model</class>
<resourceModel>custommodule_resource</resourceModel>
</custommodule>
<custommodule_resource>
<class>Amit_Custommodule_Model_Resource</class>
<entities>
<custommoduleone>
<table>custommoduleTestOne</table>
</custommoduleone>
<custommoduletwo>
<table>custommoduleTestTwo</table>
</custommoduletwo>
</entities>
</custommodule_resource>
</models>
Este modelo dará dos modelos para un módulo de
Mage::getModel('custommodule/custommoduletwo')
// como entidades es custommoduletwoMage::getModel('custommodule/custommoduleone')
Proceso de definir la clase
De acuerdo con magento para each Model
necesidades requeridas para crear los Correspondientes Modelo De Recurso De,Colección De clase
Modelo de clase para el modelo Mage::getModel('custommodule/custommoduleone')
<?php
class Amit_Custommodule_Model_Custommoduleone extends Mage_Core_Model_Abstract
{
public function _construct()
{
$this->_init('custommodule/custommoduleone');
}
}
Clase de recursos
app/code/community/Amit/Custommodule/Model/Resource/Custommoduleone.php - Ver más en:
<?php
class Amit_Custommodule_Model_Resource_Custommoduleone extends Mage_Core_Model_Resource_Db_Abstract
{
/**
* Initialize resource model
*
* @return void
*/
public function _construct()
{
$this->_init('custommodule/custommoduleone', 'table_Primarykey');
}
}
Clase de colección:
Colección de ruta de acceso del archivo Collection.php
app/code/comunidad/Amit/Custommodule/Modelo/Recursos/Custommoduleone
<?php
class Amit_Custommodule_Model_Resource_Custommoduleone_Collection
extends Mage_Core_Model_Resource_Db_Collection_Abstract{
protected function _constuct(){
$this->_init('custommodule/custommoduleone');
}
}
Segundo modelo:
Modelo de clase
<?php
class Amit_Custommodule_Model_CustommoduleTwo extends Mage_Core_Model_Abstract
{
public function _construct()
{
$this->_init('custommodule/custommoduletwo');
}
}
Clase de recursos
app/code/community/Amit/Custommodule/Model/Resource/Custommoduletwo.php
<?php
class Amit_Custommodule_Model_Resource_Custommoduletwo extends Mage_Core_Model_Resource_Db_Abstract
{
/**
* Initialize resource model
*
* @return void
*/
public function _construct()
{
$this->_init('custommodule/custommoduletwo', 'table_Primarykey');
}
}
Clase de colección:
Colección de ruta de acceso del archivo Collection.php
app/code/comunidad/Amit/Custommodule/Modelo/Recursos/Custommoduletwo
<?php
class Amit_Custommodule_Model_Resource_Custommoduletwo_Collection
extends Mage_Core_Model_Resource_Db_Collection_Abstract{
protected function _constuct(){
$this->_init('custommodule/custommoduletwo');
}
}
Nota:voy a dar varias tablas para un modelo shorly