Javascript Magento-函数名必须是字符串
我试图通过向站点添加一些PHP代码,将收入数据从Magento传递到AdWords,然后使用echo实现跟踪,将变量传递到Javascript 以下是我所拥有的:Javascript Magento-函数名必须是字符串,javascript,php,magento,google-ads-api,Javascript,Php,Magento,Google Ads Api,我试图通过向站点添加一些PHP代码,将收入数据从Magento传递到AdWords,然后使用echo实现跟踪,将变量传递到Javascript 以下是我所拥有的: <?php $orderId = Mage::getSingleton('checkout/session')->getLastOrderId(); $order = Mage::getModel('sales/order')->load($orderId); $total = (float)number_forma
<?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>
/* ) {
var google_转换_值=;
}
var google_conversion_currency=“USD”;
var google_remarketing_only=false;
/* ]]> */
&;货币代码=美元和美元;标签=3B7tCPfZj2YQip2P4gM&;guid=打开&;脚本=0“/>
但是没有运气
它返回的函数名必须是第69行的字符串错误。据我所知,第69行是我代码中的第四行。我必须根据客户端的请求删除它
有人能帮忙吗?我没有足够的PHP经验来真正诊断这个问题。问题:您在代码中使用
$variable
作为函数myFunction()
,这是错误的
注意:变量和函数是每种编程语言的两个不同的主要元素,因此最好至少区分这两种元素,不要错误地将它们视为另一种
解决方案:删除以下代码中()
后的括号$order
,您的问题将得到解决
代码:
<?php
$orderId = Mage::getSingleton('checkout/session')->getLastOrderId();
$order = Mage::getModel('sales/order')->load($orderId);
$total = (float)number_format($order->getSubtotal(),2);
?>
//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();
问题:您在代码中将
$variable
用作函数myFunction()
,这是错误的
注意:变量和函数是每种编程语言的两个不同的主要元素,因此最好至少区分这两种元素,不要错误地将它们视为另一种
解决方案:删除以下代码中()
后的括号$order
,您的问题将得到解决
代码:
<?php
$orderId = Mage::getSingleton('checkout/session')->getLastOrderId();
$order = Mage::getModel('sales/order')->load($orderId);
$total = (float)number_format($order->getSubtotal(),2);
?>
//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();
在
$total=(float)number_格式($order()->getSubtotal(),2);
中删除$order后面的括号?解决它?@是的,您将$variable
用作一个函数,这是错误的..!在$total=(float)number_格式($order()->getSubtotal(),2)中删除$order后面的括号
解决它?@是的,您使用的是一个$variable
函数,这是错误的..!您可以$variable=Function(){}
,并且:Function t(){};$t2='t';$t2()
@PatrickEvans:是的……没错……你可以把一个函数赋给一个变量,然后你可以通过这个变量调用这个函数。@PatrickEvans:从一个$variable
调用一个函数确实是一个很好的技巧,我假设$variable
只是打印出来,而()
进行函数调用???我将尝试此方法,如果它有效,则指定为最佳答案。谢谢!好的..没问题…如果在应用我的代码后遇到任何问题,您可以通知我..!您可以$variable=function(){}
,和:function t(){};$t2='t';$t2()
@PatrickEvans:是的……没错……你可以把一个函数赋给一个变量,然后你可以通过这个变量调用这个函数。@PatrickEvans:从一个$variable
调用一个函数确实是一个很好的技巧,我假设$variable
只是打印出来,而()
进行函数调用???我将尝试此方法,如果有效,则指定为最佳答案。谢谢!好的..没问题..如果在应用我的代码后遇到任何问题,您可以通知我。。!