我正在开发一个 PrestaShop 模块,它将拥有自己的数据库表。假设数据库表名是“cat”。所以我想要一个名为 Cat 的模型类来跟踪它的属性和相关操作。那么应该放在哪里呢?
例如,类目录中有 prestashop 核心模型类。可以为此目的在我的模块目录中创建一个类目录吗?它会起作用吗?
我正在开发一个 PrestaShop 模块,它将拥有自己的数据库表。假设数据库表名是“cat”。所以我想要一个名为 Cat 的模型类来跟踪它的属性和相关操作。那么应该放在哪里呢?
例如,类目录中有 prestashop 核心模型类。可以为此目的在我的模块目录中创建一个类目录吗?它会起作用吗?
使用的标准是将模型类放在 /module/model/YourModelClass.php 中,你可以看到这个模块,在你的安装模块类中你应该调用它
require_once(_PS_MODULE_DIR_ . 'example/models/YourModelClass.php');
您对类模型没有严格的命名标准,就像控制器类和安装类一样。
希望它有所帮助。
亲切地。
PrestaShop 模型结构非常自由流动。您可以决定要使用的结构。
强加给你的仅有的几个限制是
我的问题是关于在 prestashop 中放置 ObjectModel 子类的位置。以上接受的答案正在回答该问题。但这还不足以使模块正常工作。您必须将模型类包含在模块中要使用的任何位置。
例如
include_once(_PS_MODULE_DIR_.'mymodule/classes/Cat.php');
class mymoduledisplayModuleFrontController extends ModuleFrontController {
// Other code goes here
}
如果您要覆盖现有的模型类,您可以将您的类放在 /modules/your_module/override/classes 目录中。我注意到在安装模块时,您覆盖的类将被复制到 prestashop_root/override/classes 目录。