1

分析支付页面的代码,但没有用javascript代码编写代码..

例如(HTML 打印):


<script>
woopra.track('Odeme Sayfasi', {
    urunSayisi: '',
    amount: '',
    currency: '$'
});
</script>
    21234.55

2: 2个产品

1234.55:数量

PHP & Javascript 代码:

<?php 
$mageFilename = '/home4/emre2010/public_html/app/Mage.php';
require_once $mageFilename;
umask(0);
Mage::app();
Mage::getSingleton('core/session', array('name'=>'frontend'));
$session = Mage::getSingleton('checkout/session');
$output = "";
foreach ($session->getQuote()->getAllItems() as $item) { ?>

<script>
woopra.track('Payment Page', {
    urunSayisi: '<?php $output .= $item->getQty(); ?>',
    amount: '<?php $output .= $item->getBaseCalculationPrice(); ?>',
    currency: '$'
});
</script>

<?php } print $output;  ?>

为什么不写入javascript代码?- 我哪里出错了?

PS:电商脚本:Magento 1

4

3 回答 3

3

您正在混合两种方法。当您关闭 PHP 标记并启动您的 JavaScript 代码时,就会直接将输出输出到页面中。然后,您将信息存储在变量中,而不是直接将其输出到内容中。

你需要做这样的事情:

<script>
woopra.track('Payment Page', {
  urunSayisi: '<?php echo $item->GetQty(); ?>',
  amount: '<?php echo $item->getBaseCalculationPrice(); ?>',
  currency: '$'
});
</script>

如果您想构建您的 JavaScript 代码并一次性将其全部输出,那么您需要将您的 JS 代码放入 PHP 变量中,然后打印输出,如下所示:

<?php
$output = '';
$output .= "<script>";
$output .= "  woopra.track('PaymentPage', {";
$output .= "    urunSayisi: '" . $item->GetQty() . "',";

等等

但是,直接打印到您的代码中的最佳方法对于您似乎正在做的事情来说更简单、更清晰。

于 2013-08-15T17:46:52.773 回答
2

您不会打印您认为的值,只是将它们连接到$output. 我会这样做:

<?php 
$mageFilename = '/home4/emre2010/public_html/app/Mage.php';
require_once $mageFilename;
umask(0);
Mage::app();
Mage::getSingleton('core/session', array('name'=>'frontend'));
$session = Mage::getSingleton('checkout/session');

$output = "";
foreach ($session->getQuote()->getAllItems() as $item) { 
    $qty = $item->getQty();
    $price = $item->getBaseCalculationPrice();
    $output .= $qty . $price;
    ?> 
    <script>
    woopra.track('Payment Page', {
        urunSayisi: '<?php print $qty ?>',
        amount: '<?php print $price ?>',
        currency: '$'
    });
    </script>

<?php 
}
print $output;
?>
于 2013-08-15T17:46:53.097 回答
1

你应该echoprint

<script>
woopra.track('Payment Page', {
    urunSayisi: '<?=$item->getQty()?>',
    amount: '<?=$item->getBaseCalculationPrice()?>',
    currency: '$'
});
</script>
于 2013-08-15T17:44:43.603 回答