gpt4 book ai didi

javascript - 结合php、html和js,没有渲染正确的js

转载 作者:行者123 更新时间:2023-12-03 12:04:53 25 4
gpt4 key购买 nike

我有以下 .phtml 文件,但我无法使其正常工作。

查看渲染的脚本 block ,equals后面没有任何内容。 http://screencast.com/t/zJ2DTnLF

代码是这样的:

<?php
class ThePrinterDepo_Commissionjunction_Helper_Data extends Mage_Core_Helper_Abstract
{

/**
* Get SKU, quantity, price and discount amount for each product in a given order
* @param object $order
* @return array
*/
private function _getOrderProductsList($order)
{
$orderItems = $order->getAllItems();
$purchasedSkus = array();
$count_orderItems = count($orderItems);
for($i = 0; $i < $count_orderItems; $i++) {
$purchasedSkus[$i] = array(
'ITEM' => $orderItems[$i]['sku'],
'QTY' => number_format($orderItems[$i]['qty_ordered'],0), // no decimals
'AMT' => number_format($orderItems[$i]['price'],2), // 2 decimal places
'DCNT' => number_format(abs($orderItems[$i]['discount_amount']),2)
);
}

return $purchasedSkus;
}

/**
* Get the Universal Data (JSON) Object for Commission Junction.
* This object contains the order details passed on to Commission Junction for reporting purposes
* on the Checkout Success / Order Confirmation page.
* Notes:
* - CID, TYPE AND CURRENCY are hard coded
* @param string $orderId
* @return JSON object Universal Data Object for Commission Junction $json_masterTmsUdp
*/
public function getCommissionJunctionUdo($orderId)
{
$order = Mage::getModel('sales/order')->loadByIncrementId($orderId);
$udo = array();
$udo['CID'] = 'XXXX';
$udo['TYPE'] = 'XXXX';
$udo['CURRENCY'] = 'USD';
$udo['OID'] = $orderId;
$udo['DISCOUNT'] = number_format(abs($order->discount_amount),2);

$order_coupon_code = $order->coupon_code;
if(!is_null($order_coupon_code) && !empty($order_coupon_code))
{
$udo['COUPON'] = $order_coupon_code;
}

$udo['PRODUCTLIST'] = self::_getOrderProductsList($order);

if(Mage::getModel('core/cookie')->get('aff_commissionjunction') == 'cjafflx')
{
$udo['FIRECJ'] = "TRUE";
}
else
{
$udo['FIRECJ'] = "FALSE";
}

$masterTmsUdo['CJ'] = $udo;
$json_masterTmsUdo = json_encode($masterTmsUdo);

return $json_masterTmsUdo;

}

}

?>

<script>var MasterTmsUdo = <?php echo $this->getCommissionJunctionUdo($this->getOrderId()); ?></script>
<script>/*DO NOT ALTER *** The Printer Depo*/(function(e){var t="1340",n=document,r,i,s={http:"http://cdn.mplxtms.com/s/MasterTMS.min.js",https:"https://secure-cdn.mplxtms.com/s/MasterTMS.min.js"},o=s[/\w+/.exec(window.location.protocol)[0]];i=n.createElement("script"),i.type="text/javascript",i.async=!0,i.src=o+"#"+t,r=n.getElementsByTagName("script")[0],r.parentNode.insertBefore(i,r),i.readyState?i.onreadystatechange=function(){if(i.readyState==="loaded"||i.readyState==="complete")i.onreadystatechange=null}:i.onload=function(){try{e()}catch(t){}}})(function(){});</script>

最佳答案

您正在对象外部引用 $this:

echo $this->getCommissionJunctionUdo(...);

需要先实例化对象,然后调用方法:

$myObject = new ThePrinterDepo_Commissionjunction_Helper_Data();
$myObject->getCommissionJunctionUdo(...);

关于javascript - 结合php、html和js,没有渲染正确的js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25229819/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com