opencart 添加新模型
1,修改模板页,复制category_list.tpl,category_form.tpl,修改成新的名称。
category_list.tpl是列出页面,category_form.tpl是添加和修改页,删除页和列出页共用模板。
2,控制功能再controller文件夹下
3,model是具体处理数据内容文件夹
4,语言消息页在language文件夹下
删除功能
public function delete() {
$this->language->load('catalog/wpcms');
$this->document->setTitle($this->language->get('heading_title'));
$this->load->model('catalog/wpcms');
if (isset($this->request->post['selected']) && $this->validateDelete()) {
foreach ($this->request->post['selected'] as $category_id) {
$this->model_catalog_wpcms->deletewpcms($category_id); //这里显示调用model中的方法delete
}
$this->session->data['success'] = $this->language->get('text_success');
$url = '';
if (isset($this->request->get['page'])) {
$url .= '&page=' . $this->request->get['page'];
}
$this->redirect($this->url->link('catalog/wpcms', 'token=' . $this->session->data['token'] . $url, 'SSL'));
}
$this->getList(); //这里显示删除完成后调用显示列表
}
来到model文件夹下的具体页面,修改delete方法如下
public function deleteWpcms($Wpcms_id) {
$this->db->query("DELETE FROM " . DB_PREFIX . "terms WHERE term_id = '" . (int)$Wpcms_id . "'");
$this->cache->delete('Wpcms');
}
修改完成后台测试。
添加功能
public function insert() {
$this->language->load('catalog/wpcms');
$this->document->setTitle($this->language->get('heading_title'));
$this->load->model('catalog/wpcms');
if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validateForm()) {
$this->model_catalog_wpcms->addwpcms($this->request->post);
$this->session->data['success'] = $this->language->get('text_success');
$url = '';
if (isset($this->request->get['page'])) {
$url .= '&page=' . $this->request->get['page'];
}
$this->redirect($this->url->link('catalog/wpcms', 'token=' . $this->session->data['token'] . $url, 'SSL'));
}
$this->getForm();
}
public function addwpcms($data) {
foreach ($data['category_description'] as $language_id => $value) {
$this->db->query("INSERT INTO " . DB_PREFIX . "terms ( name, slug, term_group) VALUES ('". $this->db->escape($value['name']) ."', '". $this->db->escape($value['meta_description']) ."', 0)");
}
$this->cache->delete('wpcms');
}
修改功能
public function update() {
$this->language->load('catalog/wpcms');
$this->document->setTitle($this->language->get('heading_title'));
$this->load->model('catalog/wpcms');
if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validateForm()) {
$this->model_catalog_wpcms->editwpcms($this->request->get['category_id'], $this->request->post);
$this->session->data['success'] = $this->language->get('text_success');
$url = '';
if (isset($this->request->get['page'])) {
$url .= '&page=' . $this->request->get['page'];
}
$this->redirect($this->url->link('catalog/wpcms', 'token=' . $this->session->data['token'] . $url, 'SSL'));
}
$this->getForm();
}
opencart 添加新模型的更多相关文章
- dedecms添加新模型
dedecms虽然预设了一些常见网页的功能模型,但是如果需要新的功能则需要自己创建,dedecms也提供了创建新模型的功能,如下: 1.打开后台首页=>核心=>内容模型管理 2.添加新模型 ...
- ASP.NET MVC 5 - 给电影表和模型添加新字段
在本节中,您将使用Entity Framework Code First来实现模型类上的操作.从而使得这些操作和变更,可以应用到数据库中. 默认情况下,就像您在之前的教程中所作的那样,使用 Entit ...
- Asp.Net MVC4入门指南(7):给电影表和模型添加新字段
在本节中,您将使用Entity Framework Code First来实现模型类上的操作.从而使得这些操作和变更,可以应用到数据库中. 默认情况下,就像您在之前的教程中所作的那样,使用 Entit ...
- ASP.NET MVC系列:为已有模型添加新的属性
在模型类Movie中添加一个新的属性Rating
- [转]ASP.NET MVC 5 - 给电影表和模型添加新字段
在本节中,您将使用Entity Framework Code First来实现模型类上的操作.从而使得这些操作和变更,可以应用到数据库中. 默认情况下,就像您在之前的教程中所作的那样,使用 Entit ...
- ASP.NET MVC 5 - 添加一个模型
在本节中,您将添加一些类,这些类用于管理数据库中的电影.这些类是ASP.NET MVC 应用程序中的"模型(Model)". 您将使用.NET Framework 数据访问技术En ...
- ASP.NET MVC3快速入门——第四节、添加一个模型
在本节中我们将追加一些类来管理数据库中的电影.这些类将成为我们的MVC应用程序中的“模型”部分.我们将使用一个.NET Framework的被称之为“Entiry Framework”的数据访问技术来 ...
- Asp.Net MVC4.0 官方教程 入门指南之四--添加一个模型
Asp.Net MVC4.0 官方教程 入门指南之四--添加一个模型 在这一节中,你将添加用于管理数据库中电影的类.这些类是ASP.NET MVC应用程序的模型部分. 你将使用.NET Framewo ...
- 【译】ASP.NET MVC 5 教程 - 9:添加新字段
原文:[译]ASP.NET MVC 5 教程 - 9:添加新字段 在本节中,我们将使用Entity Framework Code First 数据迁移功能将模型类的改变应用到数据库中. 默认情况下,当 ...
随机推荐
- .net生成随机字符串
生成随机字符串的工具类: /// <summary> /// 随机字符串工具类 /// </summary> public class RandomTools { /// &l ...
- 多线程 ThreadPool线程池
简单说明一下: 线程池可以看做容纳线程的容器:一个应用程序最多只能有一个线程池:ThreadPool静态类通过QueueUserWorkItem()方法将工作函数排入线程池: 每排入一个工作函数,就相 ...
- EasyUI Field
效果: JS: var sortIndex = $("#ListDiv").find(".datagrid-view2").find(".datagr ...
- cmd复制文件
cmd复制文件 复制文件夹,自动覆盖 xcopy /E/I/Y "D:\GitHub\Qriket\lucky\SPA\dist" "D:\GitHub\lucky\ww ...
- IIS集成模式下,URL重写后获取不到Session值
近期给公司网站添加了伪静态功能,但是今天发现了在伪静态的页面中,Session值是获取不到的. 原因是在伪静态请求的时候,Session请求被“过滤”掉了. 开始是把web.config文件中的mod ...
- WPF自定义控件与样式(13)-自定义窗体Window & 自适应内容大小消息框MessageBox
一.前言 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等,若有不明白的地方可以参考本系列前面的文章,文末附有部分文章链接. 本文主要内容: 自定义 ...
- poj3249Test for Job(记忆化搜索)
/* 题意:给一个DAG图,n个节点,每个节点都对应一个值,入度为零的点走到出度为零的点,计算所有可能路径 经过节点值的和最大! 思路:记忆话搜索:也就是如果我们搜索到某一个节点的时候发现该节点已经存 ...
- Spring集成MyBatis完整示例
该文详细的通过Spring IOC.MyBatis.Servlet.Maven及Spring整合MyBatis的等技术完成一个简单的图书管理功能,实现图书列表.删除.多删除.编辑.新增功能.梳理前面学 ...
- [Node.js] Node.js中的流
原文地址:http://www.moye.me/2015/03/29/streaming_in_node/ 什么是流? 说到流,就涉及到一个*nix的概念:管道——在*nix中,流在Shell中被实现 ...
- Oracle ASM diskgroup在主机重启后启动失败
环境:RHEL 6.4 + Oracle 11.2.0.3 + ASM单实例 1.重启主机后,+DATA diskgroup启动不成功,现象如下: [grid@JY-DB ~]$ crsctl sta ...