产品消失了,消失了或者丢失了

不要恐慌。这很可能是由于语言设置的改变。

Virtuemart中有两个不同的翻译集。有普通文本和消息的翻译,例如登录,购物车,“产品未找到”等。这种翻译通常由joomla/virtuemart社区完成。你可以使用语言重写来调整它们以适应你的口味。该翻译是在joomla语言管理器中选择的。你可以轻松地用20种语言展示你的商店。安装它可能需要10分钟。

但还有另一种语言设置,它会为你输入的文本设置语言,比如产品描述。virtuemart语言系统非常快,但在vm2中有一个缺点,即产品必须提供“翻译”,即使它只是主语言的副本。否则sql无法找到产品。在VirtueMart 3中,系统使用回退到主语言。
产品消失了,因为你在joomla设置了以英语为主要语言的商店。然后所有的表都是用英语标签创建的。如果您现在在joomla语言管理器中更改主语言,那么virtuemart将尝试加载不存在的语言表。Virtuemart使用joomla的默认站点语言或第一个列出的Virtuemart语言作为回退。例如,你可以创建一个使用多种语言的商店,并始终用英语显示产品说明。

如何解决

如果需要,存储配置将创建/更新语言表。语言的选择工作白名单。因此,当未找到所选语言时,vm将使用回退。如果这不起作用,您可以选择回退语言。

例如,商店安装的语言是英语,然后joomla的默认站点语言被更改,例如变成了西班牙语。打开virtuemart配置时,语言配置字段中没有显示任何条目。它以前工作,因为如果没有配置,它是使用joomla默认的站点语言,这被改变了同时,所以西班牙语被设置为vm语言。在单一语言存储中,只需要在配置中设置“英语”语言。VM总是选择唯一可用的英文。

如果要修复这个问题,特别是如果已经输入了内容,最好是用phpmyadmin或类似的东西重命名表。您只需将所有带有语言标记的表重命名为您的新标记。语言标记使用下划线小写。所以en-GB变成了en_gb。因此,对于西班牙,搜索所有以en_gb结尾的表,并将它们重命名为西班牙标记es_es。