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. ngOptions

    ngOptions select as select as label for value in array <select ng-model="myColor" ng-op ...

  2. JavaScript到底是不是单线程

    JavaScript到底是不是单线程 JavaScript引擎 在了解计时器内部运作前,我们必须清楚一点,触发和执行并不是同一概念,计时器的回调函数一定会在指定delay的时间后被触发,但并不一定立即 ...

  3. 《PHP Manual》阅读笔记2

    本次笔记截止到 语言参考 流程控制. 1.没有结合的相同优先级的运算符不能连在一起使用,例如 1 < 2 > 1 在PHP是不合法的.但另外一方面表达式 1 <= 1 == 1 是合 ...

  4. spring源码分析之spring-core-io

    1. 看一下源码整体结构: 抓住主要点Resource.ResourceLoader和ResourceEditor 其中Resource作用 Interface for a resource desc ...

  5. Bounce.js – 快速创建漂亮的 CSS3 动画效果

    Bounce.js 是一个用于制作漂亮的 CSS3 关键帧动画的 JavaScript 库,使用其特有的方式生成的动画效果.只需添加一个组件,选择预设,然后你就可以得到一个短网址或者导出为 CSS 代 ...

  6. MD5加密算法实现用户信息加密

    MD5加密算法类: public class MD5 { /** * MD5 加密 * @param str * @author Red * @return */ public final Strin ...

  7. ATL是如何实现线程安全的引用计数和多线程控制的

    ATL是如何实现线程安全的引用计数和多线程控制的 正如标题所示,这是我经常被问到的一个问题,而每次我都从头开始给人说一次,其实说来过程理解起来的确有点复杂. 我们的每一个ATL Server Obje ...

  8. Java之HashMap在多线程情况下导致死循环的问题

    PS:不得不说Java编程思想这本书是真心强大.. 学习内容: 1.HashMap<K,V>在多线程的情况下出现的死循环现象   当初学Java的时候只是知道HashMap<K,V& ...

  9. UIkit – 轻量级前端框架,帮助你快速构建 Web 界面

    UIKit 是一个轻量级,模块化的前端框架,用于构建快速和强大的 Web 界面.UIKit 为您提供了 HTML,CSS 和 JavaScirpt 组件,使用简单,容易定制和扩展.UIKit 基于 L ...

  10. linux useradd 命令基本用法

    在 Linux 中 useradd 是个很基本的命令,但是使用起来却很不直观.以至于在 Ubuntu 中居然添加了一个 adduser 命令来简化添加用户的操作.本文主要描述笔者在学习使用 usera ...