我正在尝试通过向网站添加一些PHP代码将收入数据传递给来自Magento的AdWords,然后使用echo实现跟踪以将变量传送到Javascript。
这就是我所拥有的:
<?php
$orderId = Mage::getSingleton('checkout/session')->getLastOrderId();
$order = Mage::getModel('sales/order')->load($orderId);
$total = (float)number_format($order()->getSubtotal(),2);
?>
然后在此之后,我使用PHP echo将$ total转换为Google转换跟踪代码,如下所示:
<!-- Google Code for Website Conversions Conversion Page --> <script type="text/javascript">
/* <![CDATA[ */
var google_conversion_id = 1011076746;
var google_conversion_language = "en";
var google_conversion_format = "3";
var google_conversion_color = "ffffff";
var google_conversion_label = "3B7tCPfZj2YQip2P4gM";
if (<?php echo $total?>) {
var google_conversion_value = <?php echo $total?>;
}
var google_conversion_currency = "USD";
var google_remarketing_only = false;
/* ]]> */
</script>
<script type="text/javascript"
src="//www.googleadservices.com/pagead/conversion.js">
</script>
<noscript>
<div style="display:inline;">
<img height="1" width="1" style="border-style:none;" alt=""
src="//www.googleadservices.com/pagead/conversion/1011076746/?value=<?php echo $total?>&currency_code=USD&label=3B7tCPfZj2YQip2P4gM&guid=ON&script=0"/>
</div>
</noscript>
但没有运气。
它返回一个函数名称必须是第69行的字符串错误。据我所知,第69行是我代码中的第4行。我必须根据客户的要求删除它。
有人可以帮忙吗?我没有经验丰富的PHP来真正诊断这个。
答案 0 :(得分:0)
问题:您在代码中使用$variable
作为function myFunction()
是错误的。
注意:变量&amp;函数是每种编程语言的两个不同的主要元素,因此最好至少区分这两种编程语言,并且永远不要错误地将这两种编程用于另一种编程语言。!
解决方案:在以下代码中()
后删除括号$order
,您的问题就会得到解决。
代码:
<?php
$orderId = Mage::getSingleton('checkout/session')->getLastOrderId();
$order = Mage::getModel('sales/order')->load($orderId);
$total = (float)number_format($order->getSubtotal(),2);
?>
@Actual Credit转到@Felippe Duarte
变量可以保存一个函数,即您可以为变量分配一个函数,然后您可以使用该变量立即调用该函数。
对于实例:
//It's A Function
function myFunction() {
// Simple Printing The Hello World Text
echo "Hello World";
}
// Assigning The Function To The Variable
$variable = 'myFunction';
//Calling The Variable As A Function
echo $variable();