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 添加新模型的更多相关文章

  1. dedecms添加新模型

    dedecms虽然预设了一些常见网页的功能模型,但是如果需要新的功能则需要自己创建,dedecms也提供了创建新模型的功能,如下: 1.打开后台首页=>核心=>内容模型管理 2.添加新模型 ...

  2. ASP.NET MVC 5 - 给电影表和模型添加新字段

    在本节中,您将使用Entity Framework Code First来实现模型类上的操作.从而使得这些操作和变更,可以应用到数据库中. 默认情况下,就像您在之前的教程中所作的那样,使用 Entit ...

  3. Asp.Net MVC4入门指南(7):给电影表和模型添加新字段

    在本节中,您将使用Entity Framework Code First来实现模型类上的操作.从而使得这些操作和变更,可以应用到数据库中. 默认情况下,就像您在之前的教程中所作的那样,使用 Entit ...

  4. ASP.NET MVC系列:为已有模型添加新的属性

    在模型类Movie中添加一个新的属性Rating

  5. [转]ASP.NET MVC 5 - 给电影表和模型添加新字段

    在本节中,您将使用Entity Framework Code First来实现模型类上的操作.从而使得这些操作和变更,可以应用到数据库中. 默认情况下,就像您在之前的教程中所作的那样,使用 Entit ...

  6. ASP.NET MVC 5 - 添加一个模型

    在本节中,您将添加一些类,这些类用于管理数据库中的电影.这些类是ASP.NET MVC 应用程序中的"模型(Model)". 您将使用.NET Framework 数据访问技术En ...

  7. ASP.NET MVC3快速入门——第四节、添加一个模型

    在本节中我们将追加一些类来管理数据库中的电影.这些类将成为我们的MVC应用程序中的“模型”部分.我们将使用一个.NET Framework的被称之为“Entiry Framework”的数据访问技术来 ...

  8. Asp.Net MVC4.0 官方教程 入门指南之四--添加一个模型

    Asp.Net MVC4.0 官方教程 入门指南之四--添加一个模型 在这一节中,你将添加用于管理数据库中电影的类.这些类是ASP.NET MVC应用程序的模型部分. 你将使用.NET Framewo ...

  9. 【译】ASP.NET MVC 5 教程 - 9:添加新字段

    原文:[译]ASP.NET MVC 5 教程 - 9:添加新字段 在本节中,我们将使用Entity Framework Code First 数据迁移功能将模型类的改变应用到数据库中. 默认情况下,当 ...

随机推荐

  1. .net生成随机字符串

    生成随机字符串的工具类: /// <summary> /// 随机字符串工具类 /// </summary> public class RandomTools { /// &l ...

  2. 多线程 ThreadPool线程池

    简单说明一下: 线程池可以看做容纳线程的容器:一个应用程序最多只能有一个线程池:ThreadPool静态类通过QueueUserWorkItem()方法将工作函数排入线程池: 每排入一个工作函数,就相 ...

  3. EasyUI Field

    效果: JS: var sortIndex = $("#ListDiv").find(".datagrid-view2").find(".datagr ...

  4. cmd复制文件

    cmd复制文件 复制文件夹,自动覆盖 xcopy /E/I/Y "D:\GitHub\Qriket\lucky\SPA\dist" "D:\GitHub\lucky\ww ...

  5. IIS集成模式下,URL重写后获取不到Session值

    近期给公司网站添加了伪静态功能,但是今天发现了在伪静态的页面中,Session值是获取不到的. 原因是在伪静态请求的时候,Session请求被“过滤”掉了. 开始是把web.config文件中的mod ...

  6. WPF自定义控件与样式(13)-自定义窗体Window & 自适应内容大小消息框MessageBox

    一.前言 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等,若有不明白的地方可以参考本系列前面的文章,文末附有部分文章链接. 本文主要内容: 自定义 ...

  7. poj3249Test for Job(记忆化搜索)

    /* 题意:给一个DAG图,n个节点,每个节点都对应一个值,入度为零的点走到出度为零的点,计算所有可能路径 经过节点值的和最大! 思路:记忆话搜索:也就是如果我们搜索到某一个节点的时候发现该节点已经存 ...

  8. Spring集成MyBatis完整示例

    该文详细的通过Spring IOC.MyBatis.Servlet.Maven及Spring整合MyBatis的等技术完成一个简单的图书管理功能,实现图书列表.删除.多删除.编辑.新增功能.梳理前面学 ...

  9. [Node.js] Node.js中的流

    原文地址:http://www.moye.me/2015/03/29/streaming_in_node/ 什么是流? 说到流,就涉及到一个*nix的概念:管道——在*nix中,流在Shell中被实现 ...

  10. Oracle ASM diskgroup在主机重启后启动失败

    环境:RHEL 6.4 + Oracle 11.2.0.3 + ASM单实例 1.重启主机后,+DATA diskgroup启动不成功,现象如下: [grid@JY-DB ~]$ crsctl sta ...