我正在开发一个 Joomla 模块,其中可以显示图像并链接到 Joomla 文章、Virtuemart 产品或外部链接。
为了必须选择 Virtuemart 产品,我在模块清单 xml 中添加了以下参数:
<field
name="image_1_product"
type="sql"
default="10"
query="SELECT #__virtuemart_products.virtuemart_product_id, #__virtuemart_products_en_gb.product_name
FROM #__virtuemart_products, #__virtuemart_products_en_gb
WHERE #__virtuemart_products.virtuemart_product_id = #__virtuemart_products_en_gb.virtuemart_product_id
AND #__virtuemart_products.published = 1"
key_field="virtuemart_product_id"
value_field="product_name"
label="LABEL_PRODUCT"
description="DESC_PRODUCT">
</field>
当安装 Virtuemart 时,这工作得很好。未安装 Virtuemart 时,您会收到错误“未知列” - 这是有道理的。
因为这是一个模块清单选项,所以我只能使用 1 个查询。有没有办法在执行选择之前运行查询来检查表是否存在?喜欢:
IF EXISTS TABLE `table_a` (SELECT * FROM table_a)
如果是这样,它可以返回如下一行:
| 编号 | 价值 |
| 0 | 未找到 Virtuemart |
谢谢!