【问题标题】:How to add new Price field in VirtueMart admin panel Product pricing如何在 VirtueMart 管理面板中添加新的价格字段产品定价
【发布时间】:2017-09-24 19:05:28
【问题描述】:

Joomla 3.6.5 , VirtueMart 3.0.18

我想知道是否有任何开发人员可以给我一个想法?任何帮助将不胜感激!

我的客户根据他的需要希望在管理面板中添加一个输入框字段,该字段将具有产品的目录价格。请不要问为什么..

1.该字段将保存在 jos_virtuemart_product_prices 表中名为 catalog_price decimal(15,2) 的新列中

  1. 此字段将独立于任何 calc-tax 规则,;) ,, 插入到该字段后面的价格将被插入到 jos_virtuemart_product_prices 表中新列 catalog_price

  2. 目的是该字段将显示在前面删除的含税价格的位置

到目前为止,我已经完成了以下工作,

  1. 完成了 jos_virtuemart_product_prices 表中的新列 catalog_price decimal(15,2)
  2. 在管理面板中完成了包含新目录价格的新输入框

管理员\组件\com_virtuemart\views\product\tmpl\product_edit_price.php

下一步是我想将该价格保存在数据库中... 保存提交类在哪里?功能??发布方法??我很困惑! :-[ :-[ 请大家帮忙!!

提前谢谢你

【问题讨论】:

  • 我正在努力。我会更新你,因为我会完成!
  • 刚刚完成了 2 小时的“试一试”
  • 顺便说一句.. 添加自定义字段,因为它的工作方式相同。

标签: joomla virtuemart


【解决方案1】:

使用自定义字段,它们的工作方式相同,但如果需要,请遵循以下方法。

我也有类似的要求。我需要添加新字段来显示一些与产品相关的 YouTube 视频。

我所做的是:

数据库表中的新字段

更改我们需要添加新字段的数据库表。 我必须做的是,我需要一些产品的自定义信息,如 YouTube 视频或其他一些可下载的内容等。所以在表中创建了一个字段 product_youtube_link | varchar=128

abcd_virtuemart_products(这里 abcd 是我对表格的前标题)

在虚拟机管理员的前端显示表格字段

进入下一页(因为我想在产品->自定义字段下的后端/管理视图中显示此字段)。

  website/administrator/components/com_virtuemart/views/product/tmpl/product_edit_custom.php

我添加了以下代码行:

<fieldset style="background-color:#F9F9F9;">
    <legend>Installation Guide</legend>
    YouTube URL like this: http://www.youtube.com/watch?v=nwgLvK830xI 
    <div style="width: auto;">
        <input type="text" size="40" name="product_youtube_link" id="product_youtube_link" value="<?php echo $this->product->product_youtube_link; ?>" />
    </div>
 </fieldset>

这将在 Virtuemart 3.x.x 中的 product->custom fields 下显示一个输入字段

到目前为止,它没有显示数据库中的任何值(我在 phpMyAdmin 中为一个特定产品手动添加了一些东西)。

要使该字段可读、可编辑或可删除,我们必须做很多工作。 :)

不要害怕。这是最简单的工作:

在以下文件中。

website/administrator/components/com_virtuemart/helpers/shopfunctions.php

并在第 980 行找到了一个函数getValidProductFilterArray() ...。并在 $filterArray 的值末尾添加了数据库字段标题。

这个数组现在应该结束了:

之前

.....'pc.ordering');

之后

.....'pc.ordering', 'product_youtube_link');

现在刷新了虚拟机管理员面板中的产品视图。哇,我的数据库值在那里(我手动添加的)

测试该值是否真的有效。我在虚拟机管理员面板的产品视图中更改了前端的这个值。保存了该产品,并更新了该值。我打开了 phpMyAdmin,并进行了更新。

如何在网站前端显示这个值。

我需要在产品详细信息下显示此内容。

因为我正在使用模板覆盖。所以在

website/templates/mytemplate/html/com_virtuemart/productdetails/default.php

或者如果不使用覆盖,则在 vm 的默认模板详细信息页面中......

website/components/com_virtuemart/views/productdetails/tmpl/default.php

我添加了以下几行

<?
if (!empty($this->product->product_youtube_link)) {
    echo $this->product->product_youtube_link;
  } 
?>

这些数据出现在前端。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-24
    • 2019-10-29
    • 1970-01-01
    相关资源
    最近更新 更多