尝试为自定义模块设置配置文件 - 我是否需要为每个'resourceModel'设置一个唯一的模型,或者每个模型可以有多个表实体?
是否有可能让这样的事情发挥作用:
<config>...
<model>
<namespace>
<class>Namespace_Module_Model</class>
<resourceModel>module_mysq4</resourceModel>
</namespace>
<module_mysql4>
<class>Namespace_Module_Model_Mysql4</class>
<entities>
<table_1>
<table>table_1</table>
</table_1>
<table_2>
<table>table_2</table>
</table_2>
<table_3>
<table>table_3</table>
</table_3>
...
</entities>
</module_mysql4>
..</config>
然后通过模型在表之间动态切换?
和相关:任何人都知道这些孩子的可能性和他们的适当性?我见过'实体','协会'和'项目' - thx
答案 0 :(得分:3)
你在这里要问的并不是很清楚。 Magento有一个基本的一个资源到一个表资源,一个一个资源到以特定方式构建的许多表 EAV风格模型的资源。
上面描述的场景并不是系统直接支持的,但是如果你想实现类似的东西,那么没有什么可以阻止你实现任何你想要的方式的资源。
对于可能的子节点,创建简单的配置查看器described here以获取整个合并配置的转储,然后使用xpath查看器检查您感兴趣的所有节点(及其子节点)在
答案 1 :(得分:1)
响应的响应&amp;如果问题不清楚,请道歉。经过几个小时的调试后,我让它使用以下结构:
<models>
<modulename>
<class>Namespace_Modulename_Model</class>
<resourceModel>modulename_mysql4</resourceModel>
</modulename>
<modulename_type1>
<class>Namespace_Modulename_Model_Type1</class>
<resourceModel>modulename_mysql4</resourceModel>
</modulename_type1>
<modulename_type2>
<class>Namespace_Modulename_Model_Type2</class>
<resourceModel>modulename_mysql4</resourceModel>
</modulename_type2>
<modulename_mysql4>
<class>Namespace_Modulename_Model_Mysql4</class>
<entities>
<modulename>
<table>modulename</table>
</modulename>
<modulename_type1>
<table>modulename_type1</table>
</modulename_type1>
<modulename__type2>
<table>modulename_type2</table>
</modulename_type2>
</entities>
</modulename_mysql4>
</models>
所以是的 - 对于声明的每个模型(一个模型,一个资源),有一个表实体,但我假设每个额外的模型/ resourceModel组合都需要它自己的module_Mysql节点,它自己的modulename_mysql4节点,ala:
<models>
<modulename>
<class>Namespace_Modulename_Model</class>
<resourceModel>modulename_mysql4</resourceModel>
</modulename>
<modulename_type1>
<class>Namespace_Modulename_Model_Type1</class>
<resourceModel>modulename_mysql4_type1</resourceModel>
</modulename_type1>
<modulename_type2>
<class>Namespace_Modulename_Model_Type2</class>
<resourceModel>modulename_mysql4_type2</resourceModel>
</modulename_type2>
<modulename_mysql4>
<class>Namespace_Modulename_Model_Mysql4</class>
<entities>
<modulename>
<table>modulename</table>
</modulename>
</entities>
</modulename_mysql4>
<modulename_mysql4_type1>
<class>Namespace_Modulename_Model_Mysql4_Type1</class>
<entities>
<modulename_type1>
<table>modulename_type1</table>
</modulename_type1>
</entities>
</modulename_mysql4_type1>
<modulename_mysql4_type2>
<class>Namespace_Modulename_Model_Mysql_Type2</class>
<entities>
<modulename_type2>
<table>modulename_type2</table>
</modulename_type2>
</entities>
</modulename_mysql4_type2>
</models>
但事实并非如此。很想通过游戏解释听一出戏剧。谢谢你的帮助!
答案 2 :(得分:0)
或者:
<resources>
<modulename_setup>
<setup>
<module>modulename</module>
</setup>
<connection>
<use>core_setup</use>
</connection>
</modulename_setup>
<modulename_write>
<connection>
<use>core_write</use>
</connection>
</modulename_write>
<modulename_read>
<connection>
<use>core_read</use>
</connection>
</modulename_read>
</resources>