0

我正在尝试包含一些用于谷歌分析电子商务跟踪的 javascript。

在示例代码中,我看到类似这样的内容,其中我用自己的变量替换了变量。

<?php
 function getTransactionJs(&$order) {
        return <<<HTML
        ga('ecommerce:addTransaction', {
          'id': '{$order->ord_order_numner}',
          'affiliation': 'Marcella',
          'revenue': '{$order->total_payment}',
          'shipping': '0',
          'tax': '0'
        });
        HTML;
    }


echo getTransactionJs($order);
 ?>

但是我遇到了语法错误。请问是什么意思

return <<<HTML

提前致谢!


你可以借助一点点 Javascript 来做到这一点。让我们首先创建一个输入字段:

<input type="hidden" name="button-name" id="button-name" value="" />

<input type="submit" name="register-button" id="register-button" onclick="changeValue()" />

function changeValue(){
   document.getElementById('button-name').value="register"
}

现在,在你看来,这样做:

button_name = request.POST['button-name']

if button-name=='register':
    # Do the registration
    # Redirect to another view or template

else:
    # Do your login thing
    # Redirect where you want
4

3 回答 3

1

这是一种在多行上定义字符串的方法。您的字符串在 the 之后开始,<<<HTML并在HTML;The HTMLword 可以替换为您想要的任何内容。

请参阅Heredoc 语法

于 2013-08-06T07:58:05.953 回答
0

这是 PHP 的Heredoc语法。我不是它的粉丝。

于 2013-08-06T07:56:10.430 回答
0

正如建议阅读手册,但考虑不要使用这种语法。

为了让您的生活更轻松 - 在大多数情况下,问题在于文本缩进。

HTML;

必须在行首不缩进!

于 2013-08-06T08:30:09.287 回答