gpt4 book ai didi

php - 需要帮助从 opencart 管理面板操作数据库值

转载 作者:行者123 更新时间:2023-11-30 22:57:01 25 4
gpt4 key购买 nike

我正在为我的 opencart 安装创建一个扩展。我目前正在运行 OpenCart V1.5.5.1。您将在下面找到我为达到这一点而遵循的代码和过程。希望有人可以帮助我找到完成项目的这一部分还需要什么。

我做的第一件事是在我的 opencart 数据库中的产品表中添加两列。这些列如下:

goal_activate tinyint(1)(寻找 0 或 1 的可能值)

sales_goal INT(任何整数)

我还使用以下代码为管理面板添加必要的文本和选择框以显示控件。这里的想法是为每个产品设置一个选择框,让我们的员工打开销售目标 (goal_activate) 并设置目标值 (sales_goal)。

    <file name="admin/controller/catalog/product.php">
<operation>
<search position="after"><![CDATA[$this->data['entry_quantity'] = $this->language->get('entry_quantity');]]></search>
<add><![CDATA[
$this->data['entry_goal_activate'] = $this->language->get('entry_goal_activate');
$this->data['entry_sales_goal'] = $this->language->get('entry_sales_goal');
]]></add>
</operation>
</file>
<file name="admin/language/english/catalog/product.php">
<operation>
<search position="after"><![CDATA[$_['entry_quantity'] = 'Quantity:';]]></search>
<add><![CDATA[
$_['entry_goal_activate'] = 'Activate Sales Goal<br/><span class="help">Activate the sales goal thermometer for this product.</span>';
$_['entry_sales_goal'] = 'Set sales goal<br/><span class="help">Sales goal is set in total units sold.</span>';
]]></add>
</operation>
</file>

<file name="admin/view/template/catalog/product_form.tpl">
<operation>
<search position="before"><![CDATA[<td><?php echo $entry_minimum; ?></td>]]></search>
<add><![CDATA[
<td><?php echo $entry_goal_activate; ?></td>
<td><select name="goal_activate">
<?php if ($goal_activate) { ?>
<option value="1" selected="selected"><?php echo $text_yes; ?></option>
<option value="0"><?php echo $text_no; ?></option>
<?php } else { ?>
<option value="1"><?php echo $text_yes; ?></option>
<option value="0" selected="selected"><?php echo $text_no; ?></option>
<?php } ?>
</select></td>
</tr>
<tr>
<td><?php echo $entry_sales_goal; ?></td>
<td><input type="text" name="sales_goal" value="<?php echo $sales_goal; ?>" size="2" /></td>
</tr>
<tr>
]]></add>
</operation>
</file>

现在,管理面板中的一切看起来都很棒,而且我的数据库列都具有正确的数据类型和默认值。我所缺少的只是将根据用户输入和创建的控件实际更改我的数据库值的代码。我相信我缺少对 admin/controller/catalog/product.php 的 Controller 文件的一些补充,我只是不确定我需要做什么。任何帮助将不胜感激。如果我的问题中有任何问题没有形成或缺乏信息,我深表歉意,这是我在这里的第一篇文章。

最佳答案

数据库处理由 Opencart 的 MVC-L 框架的 model 层完成。所以你也必须做一些这样的改变:

<file name="admin/model/catalog/product.php">
<operation>
<search position="before"><![CDATA[
$this->db->query("UPDATE " . DB_PREFIX . "product SET image = '" . $this->db->escape(html_entity_decode($data['image'], ENT_QUOTES, 'UTF-8')) . "' WHERE product_id = '" . (int)$product_id . "'");
]]></search>
<add><![CDATA[
$this->db->query("UPDATE " . DB_PREFIX . "product SET your_field_1 = '" . $this->db->escape($data['your_field_1']) . "', your_field_2 = '" . $this->db->escape($data['your_field_2']) . "' WHERE product_id = '" . (int)$product_id . "'");
]]></add>
</operation>
</file>

关于php - 需要帮助从 opencart 管理面板操作数据库值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25859416/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com