OpenCart:如何准确填充 oc_category_path

2023-11-24

我使用在线服务将数据从其他电子商务网站传输到OpenCart一切似乎都已正确转移。

然而,产品类别存在一个问题。类别已转移至oc_category桌子;但是,看起来还有另一张表叫做oc_category_path如果我希望能够在管理员中编辑我的类别,也需要填充该内容。

你知道这张表是什么以及我如何正确填充它(在我的情况下我想是手动的)。是什么path_id and level准确地说,什么决定了品类的级别?

相关表格:

CREATE TABLE `oc_category` (
  `category_id` int(11) NOT NULL AUTO_INCREMENT,
  `image` varchar(255) DEFAULT NULL,
  `parent_id` int(11) NOT NULL DEFAULT '0',
  `top` tinyint(1) NOT NULL,
  `column` int(3) NOT NULL,
  `sort_order` int(3) NOT NULL DEFAULT '0',
  `status` tinyint(1) NOT NULL,
  `date_added` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `date_modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  PRIMARY KEY (`category_id`)
) ENGINE=MyISAM AUTO_INCREMENT=12 DEFAULT CHARSET=utf8

CREATE TABLE `oc_category_description` (
  `category_id` int(11) NOT NULL,
  `language_id` int(11) NOT NULL,
  `name` varchar(255) NOT NULL,
  `description` text NOT NULL,
  `meta_description` varchar(255) NOT NULL,
  `meta_keyword` varchar(255) NOT NULL,
  `u_title` varchar(255) NOT NULL,
  `u_h1` varchar(255) NOT NULL,
  `u_h2` varchar(255) NOT NULL,
  PRIMARY KEY (`category_id`,`language_id`),
  KEY `name` (`name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8

CREATE TABLE `oc_category_path` (
  `category_id` int(11) NOT NULL,
  `path_id` int(11) NOT NULL,
  `level` int(11) NOT NULL,
  PRIMARY KEY (`category_id`,`path_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8

如果 oc 存储中的类别是根类别,它将在路径表中获取一个条目,例如“category_id,category_id,0”。 如果该类别有子类别,它将在表中获得两个条目,即:-“category_id,category_id,1”以及“category_id,parent_id,0”。

如果该孩子有自己的孩子,则该新孩子将具有三个条目:-
“类别 ID,类别 ID,2”
“类别_id,父级_id,1”
“category_id,父母父类别_id,0”

为了说明这一点,假设类别的category_id为“14”。 它是category_id 为“11”的类别的第一个子项。 该category_id 为“11”的类别是类别id 为“1”的类别的子类别。 (1>11>14,如管理面板中所示,除了名称而不是category_id)

上面将有 3 个条目:
“14”,“14”,“2”
“14”,“11”,“1”
“14”,“1”,“0”

因此,它的根类别将变为 0,下一个类别将变为 1,下一个类别将变为 2,依此类推,所有这些都取决于它向下的类别级别。

我希望能够很好地解释事情。

至于填充它,最简单的方法(但不是完整的方法)是仅使用“category_id,category_id,0”创建表。这将使它们显示在管理面板中。如果您随后单击“修复”,它将正确生成该表。

或者,您必须逐步浏览类别表,使用其parent_id 创建一个数组,查找该parent_id 以获得其parent_id 并将其添加到数组中,等等。当数组完成时,即不再有父级,将它们添加到具有正确“级别”的表中将是一个简单的任务。

仅供参考,还有另一个需要填充的表,category_to_store,它非常简单“category_id,store_id”。如果没有此表,您将不会在商店中看到您的类别。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OpenCart:如何准确填充 oc_category_path 的相关文章

  • 如何使用wireshark清晰捕获mysql查询sql

    因为我们使用远程开发Mysql服务器 所以不能轻易检查查询sql 如果使用本地服务器可以tail f general log file查看调用某个http接口时执行了哪些sql 所以我安装了一个wireshark捕获这些从本地发送的查询sq
  • Laravel 5.4 升级 - 违反完整性约束 - 列不能为空

    奇怪的是 所有这些都在 5 2 中工作 但我不知道可以改变什么来实现这一点 下面是错误和正在插入的数组 SQLSTATE 23000 Integrity constraint violation 1048 Column gender can
  • MySQL Python 关于重复键更新值

    我正在研究使用 python 将 JSON 数据上传到 MySQL 我需要在插入语句中包含 ON DUPLICATE KEY UPDATE VALUES 但在 Python 中遇到了问题 如果我运行以下代码 一切正常 import json
  • MySQL集群启动失败

    这不是我第一次创建ndbcluster 但我没有收到这样的问题 我正在关注本手册 https hub docker com r mysql mysql cluster by mysql团队 我正在使用回显的默认配置在此 GitHub 存储库
  • 猪的组连接等效吗?

    试图在 Pig 上完成这个任务 寻找 MySQL 的 group concat 等效项 例如 在我的表中 我有以下内容 3fields userid clickcount pagenumber 155 2 12 155 3 133 155
  • MySQL 数据库无法在 XAMPP for Mac 上启动

    突然我在 mac 上遇到了这个问题 我无法启动我的 MySQL 数据库 我只能启动 ProFTPD 和 Apache Web Server 这是应用程序日志 Starting all servers Starting MySQL Datab
  • MySQL 可选的带有 MATCH 的 LEFT JOIN

    我有以下查询 它对 MySQL Innodb 数据库中同一搜索词的两个不同表中的两列执行全文搜索 SELECT Id MATCH tb1 comment tb2 comment AGAINST search term IN BOOLEAN
  • MySQL 左连接 WHERE table2.field = "X"

    我有以下表格 pages Field Type Null Key Default Extra page id int 11 NO PRI NULL auto increment type varchar 20 NO NULL
  • 在同一查询中选择 Count of ip 和 Count of DISTINCT ip

    我有一个这样的表结构 TABLE NAME counter id datetime url ip 1 2013 04 12 13 27 09 url1 ip01 2 2013 04 13 10 55 43 url2 ip02 3 2013
  • 使用“INSERT ... ON DUPLICATE KEY UPDATE”插入多条记录

    我的表结构 table marks 我的目标 我想用条件插入或更新多条记录 我目前正在通过此查询进行检查 第一步 SELECT FROM marks WHERE student 115 AND param 1 第二步 if records
  • MySQL 和 PHP 参数 1 作为资源

    好吧 当我运行下面提到的代码时 PHP 向我抛出此错误 在日志中 Error mysql num rows 期望参数 1 为资源 第 10 行 place 中给出的字符串 9 11号线 queryFP SELECT FROM db coun
  • 如何删除 MySQL 数据库?

    你可能从我的上一个问题中注意到一个问题引发了更多的问题 在 MySQL 监视器中阅读 MySQL 手册 https stackoverflow com questions 1081399 我的数据库现在无法使用 部分原因是我想破坏东西并且无
  • MySQL JOIN 滥用?情况会变得有多糟糕?

    我读了很多关于关系数据库的文章 在每个 SELECT 上使用许多 JOIN 语句 但是 我一直想知道滥用这种方法从长远来看是否会出现任何性能问题 例如 假设我们有一个users桌子 我通常会添加 最常用 的数据 而不是进行任何额外的联接 例
  • 休眠以持久保存日期

    有没有办法告诉 Hibernate java util Date 应该持久保存 我需要这个来解决 MySQL 中缺少的毫秒分辨率问题 您能想到这种方法有什么缺点吗 您可以自己创建字段long 或者使用自定义的UserType 实施后User
  • rake db 问题:迁移 -

    我无法为 Ruby on Rails 设置 MySQL 数据库 设置数据库并确保 config database yml 文件匹配后 我遇到了以下错误消息 U Rails alpha gt rake db migrate trace in
  • 如何为 MySQL 中的字段或列添加别名?

    我正在尝试做这样的事情 但我收到未知的列错误 SELECT SUM field1 field2 AS col1 col1 field3 AS col3 from core 基本上 我只想使用别名 这样我就不需要执行之前执行的操作 这在mys
  • SQL Server 2005 是否有与 MySql 的 ENUM 数据类型等效的数据类型?

    我正在开发一个项目 我想在表中存储一些容易枚举的信息 MySql 的枚举数据类型正是我想要的 http dev mysql com doc refman 5 0 en enum html http dev mysql com doc ref
  • MySQL InnoDB 约束不起作用

    我偶然发现 innoDB 约束的奇怪行为 但找不到原因 我有包含数据的表格 下面列出了它们的结构 CREATE TABLE contents id int 10 unsigned NOT NULL AUTO INCREMENT title
  • 如何使用 MySQL 选择有特定值的 2 个连续行?

    我正在构建一个系统 该系统应该显示学生何时连续缺席两天 例如 此表包含缺勤情况 day id missed 2016 10 6 1 true 2016 10 6 2 true 2016 10 6 3 false 2016 10 7 1 tr
  • 奇怪的 MySQL Python mod_wsgi 无法连接到 'localhost' (49) 上的 MySQL 服务器问题

    StackOverflow上也有类似的问题 但我还没有发现完全相同的情况 这是在使用 MySQL 的 OS X Leopard 机器上 一些起始信息 MySQL Server version 5 1 30 Apache 2 2 13 Uni

随机推荐

  • 如何计算R中的累积平均值? [复制]

    这个问题在这里已经有答案了 如果该术语不正确 我很抱歉 在 R 中 我有一个数值向量x 我想创建新的向量y where y i mean x 1 i 很容易写一个函数来计算y 但是 R 中是否有内置函数可以完成该任务 非常感谢 尝试这个 y
  • 如何从 Selenium WebDriver 驱动 Firebug

    我想在通过 WebDriver 运行测试时捕获 Firebug 的网络面板输出 我正在考虑使用 NetExport 将信息转储到 har 文件中 当使用 driver get 显示特定页面时 如何激活 Firebug 进行导出 除了 Fir
  • 从 Ajax 下载文件(某种意义上)

    我的 GSP 中有这个 ajax 调用 ajax url request contextPath Ticket passAll type POST data data success function alert Success 这是我的控
  • 如何在Android上查找具有特定扩展名的所有文件?

    我正在使用文件浏览器查找手机上的文件 但我想向用户显示我的应用程序可以打开的所有文件 然后用户选择一个 与音乐播放器一样 它会显示手机上 SD卡上和内存中的所有歌曲 而不仅仅是用户所在文件夹中的歌曲 列出文件时使用文件名过滤器 下面的示例列
  • 如何在 iOS 7 上的 UINavigationController 中禁用向后滑动手势

    在 iOS 7 中 Apple 添加了新的默认导航行为 您可以从屏幕左边缘滑动以返回导航堆栈 但在我的应用程序中 这种行为与我的自定义左侧菜单冲突 那么 是否可以在 UINavigationController 中禁用这个新手势 我找到了一
  • Android Context 线程安全吗?

    当我在 AsyncTask doInBackground 中使用 Android 上下文时 它是线程安全的吗 上下文是通过构造函数或通过周围 Activity 的 getApplicationContext 提供的 这个简单的问题在 sta
  • onAttach 活动为空

    在创建片段时 我遇到 getActivity 为空 因此 为了缩小问题范围 我在 onAttach Activity Activity 中保留了 Activity 的本地副本 根据定义 这是附加到 Activity 时的情况 但是 我在 o
  • 访问列表中类的属性

    我看到很多类似的问题 但没有一个有直接答案 我有一个List
  • 从 Crashlytics SDK 迁移到 Fabric 后出现构建错误

    最近 我们已将组织的 Crashlytics 帐户升级到 Fabric 我正在尝试在现有应用程序中用新的 Fabric SDK 替换旧的 Crashlytics SDK 我已经关注了迁移说明 而且基本上很轻松 除了我现在在尝试编译时收到构建
  • 将变量传递给带有字边界的 RegExp

    我必须传递变量的 RegExp 值并指向字边界 我有一个字符串要检查它是否包含变量值 我不知道如何将变量值和单词边界属性传递给正则表达式 所以像这样 var sa Sample var re new RegExp b sa alert re
  • Android 应用程序永远不会自动更新

    我在 Play 商店中有一个有点不寻常的 Android 应用程序 它在专用设备上 24 7 运行 它收集传感器数据 并不意味着在用于其他用途的手机上运行 我希望该应用程序能够在没有用户交互的情况下自动更新 但这似乎永远不会发生 为什么会这
  • 删除javascript中的第一个孩子

    我正在尝试删除第一个li in an ol使用 DOMremoveChild 但由于某种原因它不起作用 这是我的 JavaScript document getElementById queue removeChild document g
  • CrystalReports ReportDocument 数据库连接内存泄漏

    我过去几天一直在研究这个问题 但似乎无法弄清楚 我有一个c WinForms应用程序使用ReportDocument加载报表并将其放入 Crystal Report Viewer 中 以便用户可以预览它 目的是预览不同的统计数据 并且表单永
  • C++11 中局部静态变量初始化是线程安全的吗? [复制]

    这个问题在这里已经有答案了 我知道这是一个经常被问到的问题 但由于有很多变体 我想重申一下 并希望能得到一个反映当前状态的答案 就像是 Logger g logger static Logger lg return lg 变量 lg 的构造
  • setDragImage 不工作 - Java 7

    我正在尝试设置代码 以便用户可以从 JTable 拖动到 JList 并使用 TransferHandler 中的 Java 7 函数 setDragImage 自定义拖动图像 我在java教程网站上找到了一个示例 他们在其中教授Drag
  • SyntaxError:未终止的字符串文字 标记在字符串变量中不起作用

    请看我的代码 var id 1 var htmlText div ul class rtabs ul div class panel container div div div div div style display none Blah
  • 按嵌套对象的一个​​属性对对象数组进行排序

    我需要通过对象属性之一的一个属性来比较对象数组 我在做 List
  • 如何将 accdb 转换为 postgres 数据库

    我需要使用 accdb 数据库 为此需要将其导入 PostgreSQL 我相信这将是一个简单而直接的问题 我预计它已经解决了 但我没有找到一个简单的解决方案 我要补充一点 我无权访问 Access 笑 并且我的解决方案松散地依赖于此 如果那
  • 从 .crt 和 .key 文件创建 .jks 是否可能

    我向权威机构申请了 SSL 证书 首先 我在计算机上创建了一个 csr 和一个 key 文件并保存了它们 我发送了 csr 并取回了 crt 文件和我安装在服务器上的其他文件 对于具有 SSL 连接的 Apache 服务器来说 一切正常 但
  • OpenCart:如何准确填充 oc_category_path

    我使用在线服务将数据从其他电子商务网站传输到OpenCart一切似乎都已正确转移 然而 产品类别存在一个问题 类别已转移至oc category桌子 但是 看起来还有另一张表叫做oc category path如果我希望能够在管理员中编辑我