`

opencart核心代码方法

阅读更多

opencart核心代码方法

public function __construct($route, $args = array()) {
$path = ”;
$parts = exe(‘../’, ”, (string)$route));
foreach ($parts as $part) { plode(‘/’, str_replac
$path .= $part;
if (is_dir(DIR_APPLICATION . ‘controller/’ . $path)) {
$path .= ‘/’;

array_shift($parts);

continue;
}

if (is_file(DIR_APPLICATION . ‘controller/’ . str_replace(array(‘../’, ‘..\\’, ‘..’), ”, $path) . ‘.php’)) {
$this->file = DIR_APPLICATION . ‘controller/’ . str_replace(array(‘../’, ‘..\\’, ‘..’), ”, $path) . ‘.php’;

$this->class = ‘Controller’ . preg_replace(‘/[^a-zA-Z0-9]/’, ”, $path);

array_shift($parts);

break;
}
}

if ($args) {
$this->args = $args;
}

$method = array_shift($parts);

if ($method) {
$this->method = $method;
} else {
$this->method = ‘index’;
}
}

private function execute($action) {
if (file_exists($action->getFile())) {
require_once($action->getFile());

$class = $action->getClass();

$controller = new $class($this->registry);

if (is_callable(array($controller, $action->getMethod()))) {

分析调用那个controler
$action = call_user_func_array(array($controller, $action->getMethod()), $action->getArgs());
} else {
$action = $this->error;

$this->error = ”;
}
} else {
$action = $this->error;

$this->error = ”;
}

return $action;
}
}
public function dispatch($action, $error) {
$this->error = $error;

foreach ($this->pre_action as $pre_action) {
$result = $this->execute($pre_action);

if ($result) {
$action = $result;

break;
}
}

while ($action) {
$action = $this->execute($action);
}
}
protected function getChild($child, $args = array()) {

$action = new Action($child, $args);
if (file_exists($action->getFile())) {
require_once($action->getFile());
$class = $action->getClass();
$controller = new $class($this->registry);
分析调用那个controler
$controller->{$action->getMethod()}($action->getArgs());
return $controller->output;
} else {
trigger_error(‘Error: Could not load controller ‘ . $child . ‘!’);
exit();
}
}
protected function render() {
foreach ($this->children as $child) {
$this->data[basename($child)] = $this->getChild($child);
}
if (file_exists(DIR_TEMPLATE . $this->template)) {
extract($this->data);
ob_start();
require(DIR_TEMPLATE . $this->template);
$this->output = ob_get_contents();
ob_end_clean();
return $this->output;
} else {
trigger_error(‘Error: Could not load template ‘ . DIR_TEMPLATE . $this->template . ‘!’);
exit();
}
}

opencart教程

分享到:
评论

相关推荐

    opencart说明

    2. **前后台分离**:OpenCart将前台用户界面与后台管理界面完全分离,分别位于`catalog/`和`admin/`目录下,这种设计有利于代码管理和功能扩展。 3. **配置灵活性**:每个部分都包含自己的配置文件`config.php`,...

    OpenCart 1.5 电子商务源代码

    OpenCart 1.5 是一个深受开发者和店主喜爱的开源电子商务平台,它的核心特性与优势在于其强大且灵活的功能,以及对用户友好性和易用性的注重。以下是对OpenCart 1.5及其相关文件的详细解释: 1. **OpenCart 1.5的...

    opencart短信插件_opencart短信接口开发_opencart短信发送设置

    本文将深入探讨“opencart短信插件”、“opencart短信接口开发”以及“opencart短信发送设置”这三个核心知识点。 1. **Opencart短信插件**: Opencart短信插件是第三方开发者为Opencart平台设计的扩展,旨在集成...

    Opencart clear cache

    4. **VQMod缓存**:如果使用了VQMod(一个用于修改OpenCart核心代码的工具),则会有相应的缓存文件。 清理缓存通常有以下几种方式: 1. **后台清理**:登录到OpenCart管理后台,找到“设置”或“系统设置”,在...

    dquickcheckoutpackcompiledoc3v7.2.2.ocmod_Quick_opencart_checkou

    OCMOD是一个用于修改OpenCart核心代码的系统,无需直接编辑源代码,从而方便更新和维护。 4. **upload**:这是一个目录名,通常在OpenCart的扩展安装中,这个目录包含了所有需要上传到服务器以安装模块的文件。 综...

    OpenCart国家中文数据

    在OpenCart的数据库架构中,`oc_country`数据表是一个核心组成部分,存储着全球各国的中英文名称及相关信息,这对于一个多语言和多地区支持的电商平台至关重要。 `oc_country`数据表通常包含以下字段: 1. `...

    opencart模板开发手册

    8. **模板钩子**:Opencart的钩子系统允许你在不修改核心代码的情况下,插入自定义代码或插件,增强模板的功能。 9. **SEO优化**:优化模板以提高搜索引擎排名,包括元标签、URL重写和Sitemap的配置。 10. **性能...

    opencart简洁主题simplecart sot12.rar

    "JAVA"和"JSP"则强调了项目的核心编程语言和技术栈,即Java和JSP,它们在构建服务器端逻辑和生成动态内容时起着关键作用。 【压缩包子文件的文件名称列表】虽然没有提供具体文件的详细信息,但可以推测包含的内容...

    vqmod-2.6.2-opencart.zip

    1. **代码保护**:避免直接修改OpenCart核心文件,防止因误操作或更新覆盖导致的问题。 2. **易于管理**:VQMOD允许安装、更新和卸载插件,无需复杂的文件操作。 3. **可移植性**:如果你需要将网站迁移到新的服务器...

    Laravel开发-opencart-sdk

    OpenCart SDK是连接到OpenCart API的接口,它为Laravel提供了一种无缝集成OpenCart的方法。OpenCart的API允许开发者获取商店的数据,如产品、类别、订单状态等,还可以执行操作,如创建新订单、更新用户信息等。这个...

    opencart1.4.9.1中文版

    OpenCart 的核心优势在于其易用性、灵活性和丰富的功能集,使得即使是初学者也能快速上手。 1. **OpenCart 简介**:OpenCart 是一个基于PHP的开源电商解决方案,它采用MySQL数据库和HTML组件构建,遵循MVC(模型-...

    opencart教程

    2. **添加跟踪代码:**登录OpenCart后端,进入“系统”>“设置”,找到“Google Analytics”选项并输入跟踪ID。 3. **测试跟踪:**确保跟踪代码已正确安装,并通过Google Analytics验证数据是否正常收集。 #### 在...

    Opencart Cookbook 英文开发指南

    OpenCart的模板系统基于HTML、CSS和JavaScript,允许开发者灵活地改变网站的外观而无需触及核心代码。在指南中,你会学习到如何创建自定义模板,包括头部、导航、产品展示、购物车和结账流程等关键部分的设计。 **2...

    opencart 批量上传及导入 插件

    OCMOD(Opencart Module Override System)是Opencart的模块覆盖系统,用于安装和更新插件,避免直接修改核心代码,从而保持系统的可升级性。 在提供的压缩包文件中,我们可以看到以下几个关键文件: 1. **license...

    opencart 开源模板

    OpenCart 的模板系统设计得相当灵活,允许用户自定义商店的外观和布局,而无需深入修改核心代码。模板主要由以下几个部分组成: - **Theme Folder**:这是存放所有模板文件的目录,通常包括 `css`(样式表)、`...

    opencart 1.4.91

    `license.txt` 文件通常包含了软件的授权协议,详细说明了用户可以如何使用、分发和修改 OpenCart 1.4.91 的源代码。遵循这些条款是非常重要的,因为它们保护了开发者的权益,并确保用户合法地使用软件。 `changes....

    opencart30cn

    7. **vqmod**:VQMod是一个OpenCart的模块化修改工具,允许用户无需编辑核心代码就能实现功能增强或自定义修改,使得升级和维护变得更加容易。 8. **image**:这个目录存储了网站上的所有图片,包括产品图片、类别...

    OpenCart 最小内核

    "OpenCart 最小内核"项目是针对开发者和学习者设计的,它剥离了OpenCart的完整电子商务功能,仅保留了基础架构和核心运行组件。这个精简版内核使用户能够更深入地了解OpenCart的工作原理,同时也为构建基于OpenCart...

    OpenCart v1.4.9.3 简体中文版

    OpenCart的核心特性包括: 1. **易于安装和使用**:OpenCart以其简洁的后台管理和直观的界面著称,使得即使没有编程经验的用户也能快速上手建立自己的在线商店。 2. **模板系统**:OpenCart支持多种模板,用户可以...

    OpenCart 1.5.6 安装包

    相比于国内的一些开源商城系统,OpenCart 的优点在于其简洁的代码结构、丰富的功能集以及强大的社区支持。在本安装包中,你将找到名为 "opencart-master" 的文件夹,它包含了运行 OpenCart 1.5.6 所需的所有核心文件...

Global site tag (gtag.js) - Google Analytics