Magento 新闻模块开发教程 (六) 创建模型

Magento2开发教程 - Magento 2 的部署配置 部署配置的目的 Magento 2的部署配置由你的模块的安装及环境配置: /app/etc/config.php, 其中包含已安装的模块、主题和语言包的列表 /app/etc/env.php, 其中包含环境设置,如: 数据库连接设置缓存存储设置启用的缓存类型您的加密密钥网络路由参数(基URL,Magento管理URI)文件系统路径 config.php 和 env.php 被 阅读详情

创建好辅助类后,接下来为我们的新闻模块创建相关的模型。在MVC结构中,Model (模型)用于处理业务逻辑,在Magento中,模型用于更新数据库记录,和web 服务器交互等等。模型是MVC结构中非常重要的部分,Magento的模型扩展自Zend_Db_Table_Abstract 类,这个类可以连接Varien对象,然后访问数据库。这里我们会为新闻模块创建对应的模型。


在app\code\local\Voodoo\News\Model下面,创建一个名为News.php的文件:

<?php
class Voodoo_News_Model_News extends Mage_Core_Model_Abstract
{
	public function _construct()
	{
		parent::_construct();
		$this->_init('news/news');
	}
}
?>

在app\code\local\Voodoo\News\Model\Mysql4下创建多一个News.php文件:

<?php
class Voodoo_News_Model_Mysql4_News extends Mage_Core_Model_Mysql4_Abstract
{
	public function _construct()
	{
		// Note that the news_id refers to the key field in your database table.
		$this->_init('news/news', 'news_id');
	}
}
?>

然后再app\code\local\Voodoo\News\Model\Mysql4\News下创建一个Collection.php的文件:

<?php
class Voodoo_News_Model_Mysql4_News_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
{
	public function _construct(){
			parent::_construct();
			$this->_init('news/news');
	}
}

最后在app\code\local\Voodoo\News\Model下创建一个Status.php文件:

<?php
class Voodoo_News_Model_Status extends Varien_Object
{
	const STATUS_ENABLED = 1;
	const STATUS_DISABLED = 2;
	static public function getOptionArray()
	{
		return array(
			self::STATUS_ENABLED => Mage::helper('news')->__('Enabled'),
			self::STATUS_DISABLED => Mage::helper('news')->__('Disabled')
		);
	}
}

Magento的模型通过Varien_Object连接到数据库,其中涉及到Zend_Db_Abstract。我们只是扩展了Varien's Mage_Core_Model_Abstract 类。

第一个model中我们通过扩展Mage_Core_Model_Abstract类 最终连接到数据库,Status.php中的模型直接扩展Varien_Object,然后直接从数据库中更新文章的状态。

Mysql文件中的模型执行和外面模型类似的任务,Magento的模型通过扩展不同的model来实现不同的功能。
Magento2开发教程 - Magento 2 Module(模块)配置文件 Magento 2 Module(模块)配置文件概述 Magento 1.x版本的config.xml配置文件的任务现在分成几个文件,分布在各个模块的目录。Magento 2的多个配置文件的负载需求只有当模块请求一个特定的配置类型。 您可以使用这些文件,来自定义模块的特定功能。 多个模块可以声明同一文件 以下是本主题中常用的术语: Configuration object(配置对象)Ma 阅读详情

相关推荐

MATLAB实战:64QAM通信系统仿真全流程解析(附误码率优化技巧)

本文提供了一份完整的64QAM通信系统MATLAB仿真实践指南。从系统架构设计、发射端格雷码映射与脉冲成形,到信道建模、接收端同步与均衡,详细解析了全链路实现流程。文章重点分享了误码率曲线与理论值偏差的排查清单和深度优化技巧,帮助工程师构建工业级精度的仿真模型,解决高阶调制系统仿真的核心难题。

jenkins8butler的博客 404

Magento Email Variables

1.How to create the variables and make them available for templates? There are two kinds of variables: configuration variables and static variables. I regards configuration variables as values se

WebHub--Facilitating Web Development 494

张正友标定法_单目-线激光三维扫描系统中光刀平面的标定

单目-线激光三维扫描系统中光刀平面的标定线结构光有结构简单、精度高、测速快等特点,被广泛应用于三维重建领域。线结构光三维扫描系统由一个相机和一个线结构光投射器构成,线结构光投射器将线结构光投射到被测物体表面,相机采集带有线激光的被测物体图像,根据相机和线激光投射器间的相对位置关系,使用激光三角法计算出激光线上的点在相机坐标系下的坐标。激光三角法原理如下图所示,线激光投射的扇形区域可以看作是一个平面...

weixin_39616379的博客 1074

Magento 新闻模块开发教程 (三) 创建前后端控制器

之前创建了骨架目录并且激活了新模块,现在要为模块创建前台和后台的控制器。1. 首先在app/code/local/Voodoo/News/controllers/ 中创建一个名为IndexController.php的前端控制器:class Voodoo_Ne

YIP 2544

告别‘打架’的检测头:手把手教你用PyTorch实现YOLOv11解耦头(附完整代码)

本文详细解析了YOLOv11解耦检测头的创新设计与PyTorch实现,通过解耦分类和回归任务,显著提升目标检测性能。文章包含完整的代码实现、架构设计解析及工程调优技巧,帮助开发者深入理解并应用这一先进技术。

weixin_29031057的博客 301

SQL-拼多多 面试题:连续3次为球队得分的球员名单

1.使用LAG开窗函数 筛选出 下一次和下下一次得分,并用进球时间进行排序。2.使用where筛选出值得嘉奖的球员。

Ftr1998的博客 642

magento 开发 -- 深入理解Magento第六章 – 高级Magento模型

 第六章 – 高级Magento模型我们讲过Magento有两种模型,简单模型和EAV(Entity Attribute Value)模型。上一章我们讲过所有的Magento模型都是继承自Mage_Core_Model_Abstract / Varien_Object。简单模型和EAV模型的区别在于资源模型(Model Resource)。虽然所有的资源模型都最终继承“Mage_Core_

水水的Magento专栏 3142

第12步 支持向量机(SVM)

搭建SVM

Jet4505的博客 1049

21. Magento 创建新闻模块(2)

1.添加后台菜单 <?xml version="1.0"?><config> <menu> <cms> <children> <news translate="title" module="news"> <title>news</title>

enlyhua的专栏 746

SXU—软件测试方法和技术-朱少民-第四部分 软件测试流程和规范-附考点

软件测试方法和技术-朱少民-第四章 软件测试流程和规范—这本书最后一部分的考点整理,考点分析

weixin_63597914的博客 1752

【ComfyUI】Wan2.2 动态服饰描述驱动换装图生视频

本文介绍了一个基于ComfyUI的Wan2.2动态服饰描述驱动换装工作流,能通过自然语言描述实现人物图像的自动换装并生成动态视频。该工作流结合多模态输入、语言模型驱动生成和视频合成技术,包含图像加载、文本解析(使用Qwen2.5大模型)、潜变量编码、视频帧采样与插值(RIFE VFI)等核心模块,最终通过VHS_VideoCombine输出流畅换装视频。整个流程无需手动干预,支持从"哥特风格"到"未来装甲"等多样化服饰风格的精确转换,通过文本节点控制50-100

Mr数据杨 2580

25. Magento 创建新闻模块(5)

在以上几节的Magento开发实例中,我们已经为新闻模块创建了后台应用,使我们可以在后台管理新闻数据,当我们向后台添加一些测试数据后,这一节中我们将在前台显示新闻列表。1 前台控制器 修改/app/code/local/Www/News/controllers/IndexController.php的indexAction()方法:<?phpclass Www_News_IndexControll

enlyhua的专栏 562

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Magento 2开发教程 - 创建新模块

视频在youtube网站国内访问不了,可以使用翻墙软件查看。 视频地址:www.youtube.com/embed/682p52tFcmY@autoplay=1 下面是视频文字介绍: Magento 2系统整体结构是建立在模块的基础上。通常,创建定制的第一步是构建模块。 要创建模块,需要完成以下步骤: 创建模块文件夹 创建etc/module.xml文件. 创建registration.php文件. 运行bin/magento setup:upgrade脚本安装新模块 检查模块是否...

sinolover的专栏 911

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

magento新闻模块开发(二)

Magento提供了强大的Grid Widget使我们能够方便的创建数据表格,现在我们为新闻模块创建后台数据表格。 修改config.xml配置文件,添加admin路由 <config> <admin> <routers> ...

chuoban7047的博客 154

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Magento模块 -- Magento模块学习教程

Magento模块 -- Magento模块学习教程转载请注明出处(http://blog.youkuaiyun.com/xinhaozheng) Magento模块 模块(module)是Magento的核心。站点上的任何一个动作(action),无论是在前台和还是在后台的每一个操作都是通过模块来实现的。模块是可以视为一个容

magento网站建设,magento模板开发,magento支付模块 4425

Magento 新闻模块开发教程 (一) 创建骨架目录

Magento 模块应当遵循 Magento的MVC结构,包括block,controllers,etc,helper,model,sql,视图层放在design的对应目录下,分为layout和template。当然在写模块之前,你必须创建模块的xml启动文件,这个我会在后续的章

YIP 2117

magento创建模块

1. 禁用magento缓存 Admin → System → Cache Management → select all cache types 禁用它们。 2. 设置为开发者模式 php bin/magento deploy:mode:set developer 3. 模块主要文件夹在/app/code。 a 首先需要确定命名空间和模块名称。 即需要创建如下文件夹 /app/code/命名...

weixin_45627802的博客 431

magento如何创建一个模块

magento如何创建一个模块, 目录结构 magento模块一般放在app/code/local/Packagename中,PackageName一般指包名,相当于一个大类。 app/code/local/test 我们在做一个产品订阅的模块,首先,创建模块,我们需要创建以下所示的目录结构。 app/code/local/Test/Subscribe/Block app/code/loca...

qq_36619427的博客 430

magento二次开发 xml配置 详解教程下载 创建模块教程实例

magento 二次开发-magento 免费模板-magento模块开发-magento定制模板-magento入门教程-magento 定制开发 -magento 插件开发-magento模板制作 -magento 下载-magento 教程下载-magento 教程 Magento 的配置文件如同该系统的心脏一般。它负责从总体上配置所有被请求的模块,模型,类,模板文件等。它是绝大部分PH...

养在鱼缸的鱼 243

Magento 新闻模块开发教程 (五) 创建辅助类

在MVC应用程序中,模型处理业务逻辑和数据返回到控制器,控制器最终传递数据给视图。如果我们需要一个相当复杂的需求逻辑需要重复或我们不希望它放置在一个视图文件,Helper组件将有助于处理复杂的情况。在大多数情况下,一个辅助类帮助组织一个像样的数据逻辑,可以用他来反复处理。在我们这

YIP 1520

magento php 所需模块,Magento2创建自定义模块步骤/教程

Magento2模块开发是magento开发人员必备的技能,此片文章中我们将一步一步教您在Magento2中创建一个HelloWorld模块,基本要求在Magento 2中启动模块开发过程之前,请确保满足以下要求:安装最新版本的Magento 2,即2.1(如果您使用的是旧版本)。如果您不想在每次更改编码时从Web存储中删除缓存,则应禁用Magento缓存。这将节省您的时间并加快您的模块开发过程。...

weixin_36139240的博客 610

Magento2创建自定义模块步骤/教程

Magento2模块开发是magento开发人员必备的技能,此片文章中我们将一步一步教您在Magento2中创建一个HelloWorld模块, 基本要求 在Magento 2中启动模块开发过程之前,请确保满足以下要求: 安装最新版本的Magento 2,即2.1(如果您使用的是旧版本)。 如果您不想在每次更改编码时从Web存储中删除缓存,则应禁用Magento缓存。这将节省您的时间并加快您的模块开...

lemonminer的博客 1153

Magento2创建一个自定义模块

在magento2中创建一个简单的helloworld自定义模块显示到前端页面

weixin_43169845的博客 954

php magento 开发,Magento二次开发:一个简单的Magento模块示例

电商二次开发,Magento的市场份额一定是不容忽视的,但是magento的学习难度想对较大,很多都在学习的路上迷失了。作为入门级文章,刚开始上手,不知道Magento模块到底该怎么写,也许你熟悉ThinkPHP,YII框架,它是直接将控制器Controller中的所取得相关数据直接传递到视图层View的方法,而Magento虽然也是MVC三层,但是在中间多了布局对象Layout与区块Block之...

weixin_34521351的博客 932
上一篇: Magento 新闻模块开发教程 (五) 创建辅助类
下一篇: Magento 新闻模块开发教程 (七) 建立模块的SQL
ddjohn
博客等级 码龄17年 36粉丝 135原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值