2014-11-22 44 views
2

我想定制产品模板,但不是所有情况,因此我正在创建一个新的模板布局文件。%% GLOBAL变量不能在自定义Bigcommerce模板中工作

我试图做到这两种方式,但两者都不起作用,遇到%% GLOBAL变量不起作用的相同问题。

使用Product.html作为基础,我创建了_Product.html并将%% Panel.ProductDetails %%更改为我自定义的ProductDetails文件%% Panel._ProductDetails %%,在此阶段我还没有对其进行自定义。然后,我更换测试产品以使用该模板。查看产品时,出现控制台错误,页面无法正常显示。第一个控制台错误的原因是脚本变量被设置为%% GLOBAL变量的语法错误。看着网页源代码,这是结果:

<script type="text/javascript">//<![CDATA[ 
var ThumbURLs = new Array(); 
var ProductImageDescriptions = new Array(); 
var CurrentProdThumbImage = ; 
var ShowVariationThumb =false; 
var ProductThumbWidth = ; 
var ProductThumbHeight = ; 
var ProductMaxZoomWidth = ; 
var ProductMaxZoomHeight = ; 
var ProductTinyWidth = ; 
var ProductTinyHeight = ; 

对于模板

<script type="text/javascript">//<![CDATA[ 
var ThumbURLs = new Array(); 
var ProductImageDescriptions = new Array(); 
var CurrentProdThumbImage = %%GLOBAL_CurrentProdThumbImage%%; 
var ShowVariationThumb =false; 
var ProductThumbWidth = %%GLOBAL_ProductThumbWidth%%; 
var ProductThumbHeight = %%GLOBAL_ProductThumbHeight%%; 
var ProductMaxZoomWidth = %%GLOBAL_ProductMaxZoomWidth%%; 
var ProductMaxZoomHeight = %%GLOBAL_ProductMaxZoomHeight%%; 
var ProductTinyWidth = %%GLOBAL_ProductMaxTinyWidth%%; 
var ProductTinyHeight = %%GLOBAL_ProductMaxTinyHeight%%; 

怪异的一部分是有%%的全局变量只是它上面正常工作。

<script type="text/javascript" src="%%GLOBAL_CdnAppPath%%/javascript/jquery/plugins/jCarousel/jCarousel.js?%%GLOBAL_JSCacheToken%%"></script> 

被正确地被解释为

<script type="text/javascript" src="http://cdn3.bigcommerce.com/r-8a870c678fbffbf4184af752aed70da3f3454036/javascript/jquery/plugins/jCarousel/jCarousel.js?"></script> 

我试图将包括在顶级模板一切第二种方式。我没有链接到%% Panel._ProductDetails %%,而是将该面板的内容插入到_Product.html中,但是这也遇到了完全相同的问题。

有谁知道为什么这些选项都没有工作,我怎么能达到我想要的?

回答

1

这是因为BigCommerce系统中的GLOBALS只会在BigCommerce开发团队允许的位置打印一个值。这可能是一种痛苦,尤其是对于你之后的价值观,你想做的事情非常有意义。

但是,在这个时候,我建议你通过http://ideas.bigcommerce.com告诉你想要的开发人员。

我不能说这是否会在短期内发生变化,因为GLOBALS在某些领域被禁止的主要原因是为了安全,尽管你之后的那些是有用的,我不明白他们为什么不是' t启用。谁知道,开发商可能会让我们吃惊。

+0

这个答案解释了为什么。作为一种解决方法,我有多个顶级模板和不同的内部样式表,以根据我的需要更改或隐藏事物。 – 2014-12-27 22:58:56

2

在使用这些变量之前,您必须调用Panel.ProductDetails。

即使您正在使用自定义产品详细信息替代面板,也需要先参考标准产品。那么你的全局变量将起作用。

+0

我刚刚尝试过,因为我认为,它显示面板,然后我的面板,所以基本上它显示产品信息两次。我只想要我的面板显示。 – 2014-11-28 07:29:23

+0

你必须变得富有创意,并且要么隐藏主要内容,要么将主要内容移动到另一个,以便首先调用它。 – developerscott 2014-11-28 07:31:15

相关问题