Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Magento-函数名必须是字符串_Javascript_Php_Magento_Google Ads Api - Fatal编程技术网

Javascript Magento-函数名必须是字符串

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代码,将收入数据从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?>&amp;currency_code=USD&amp;label=3B7tCPfZj2YQip2P4gM&amp;guid=ON&amp;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
只是打印出来,而
()
进行函数调用???我将尝试此方法,如果有效,则指定为最佳答案。谢谢!好的..没问题..如果在应用我的代码后遇到任何问题,您可以通知我。。!