我正在使用 Joomla 和 VirtueMart 建立一个 AutoParts 商店。我想知道最终用户是否有办法按汽车的年份、品牌、型号进行搜索,然后列出相应的汽车零件。
我意识到这非常复杂,不要指望通过简单的快速修复来解决这个问题,但是任何建议或朝着正确方向的推动都将不胜感激。
感谢您的时间。
我正在使用 Joomla 和 VirtueMart 建立一个 AutoParts 商店。我想知道最终用户是否有办法按汽车的年份、品牌、型号进行搜索,然后列出相应的汽车零件。
我意识到这非常复杂,不要指望通过简单的快速修复来解决这个问题,但是任何建议或朝着正确方向的推动都将不胜感激。
感谢您的时间。
我讨厌做一条湿毯子,但事情没那么简单。绝大多数汽车零部件与其可能安装的汽车具有一对多的关系。例如,福特在 30 多年的时间里在数十种车型上使用了相同的机油滤清器,而且该滤清器也适用于克莱斯勒的大量应用。您需要做的第一个想法是整理一张好的年份/品牌/型号表,列出您将为其销售零件的所有汽车。这实际上比听起来要困难得多,因为您还必须考虑引擎,在某些情况下还取决于零件、装饰包和其他重要选项。
好消息是您只需在 VM 产品中添加一个字段。该字段应该是零件适合的每个年份/品牌/型号的所有 ID 的列表。
做好年份/品牌/模型实施是一项艰巨的任务,祝你好运!
这就是我要做的:
您可以通过以下方式做到这一点:
在 admin (administrator\components\com_virtuemart\html\product.product_form.php) 中将表单框添加到产品表单中:
<tr class="row0">
<td width="21%"><div style="text-align:right;font-weight:bold;">
<div>Year:</div>
</td>
<td width="79%">
<input type="text" class="inputbox" name="year" value="<?php $db->sp("year"); ?>" size="2" maxlength="2" />
</td>
</tr>
然后你需要确保这些值被插入到数据库中。在第 273 行附近的文件 (administrator\components\com_virtuemart\classes\ps_product.php) 中,您会发现类似这样的内容 - 添加不像其他行一样缩进的行:
$fields = array ( 'vendor_id' => $vendor_id,
'product_parent_id' => vmRequest::getInt('product_parent_id'),
'product_sku' => vmGet($d,'product_sku'),
'product_name' => vmGet($d,'product_name'),
'year' => vmGet($d,'year'),
'product_desc' => vmRequest::getVar('product_desc', '', 'default', '', VMREQUEST_ALLOWHTML),
'product_s_desc' => vmRequest::getVar('product_s_desc', '', 'default', '', VMREQUEST_ALLOWHTML),
'product_thumb_image' => vmGet($d,'product_thumb_image'),
'product_full_image' => vmGet($d,'product_full_image'),