如何在magento的成功页面中动态集成JS代码

路易·瓦伦西亚

我知道success.phtml是我应该放置要执行的代码的文件,但是我从CJ收到了这个文件,它不是html,而是php类。

问题很简单:我想知道如何在收到订单后将该文件集成到success.phtml中?

谢谢

class CommissionJunction extends Mage_Core_Helper_Data
{

    /**
     * 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;

    }



}

JS文件模板

<script> var MasterTmsUdo = { 'CJ' : { 'CID': '123', 'TYPE': '123', 'DISCOUNT' : '5.00', 'OID': 'SAMPLE_OID', 'CURRENCY' : 'USD', 'COUPON' : 'SAVE20', 'FIRECJ' : 'xxxx', PRODUCTLIST : [ { 'ITEM' : 'ABC', 'AMT' : '1.00', 'QTY' : '3' }, { 'ITEM' : 'ABC', 'AMT' : '5.00', 'QTY' : '1' } ] } }; </script>
k

这似乎是解决此问题的一种不好的方法,但是据我推论,他们希望您在以下代码的顶部执行类似的操作success.phtml

<?php require_once "path/to/commissionjunction.php" ?>
<script>var MasterTmsUdo = <?php echo CommissionJunction::getCommissionJunctionUdo($this->getOrderId()); ?></script>

更新:

我刚刚意识到那是一个帮助类。假设该模块已使用config.xml进行了正确配置,并且该文件位于Helperdir中,那么这应该可以工作-无需require_once像我的原始示例那样。

<script>var MasterTmsUdo = <?php echo Mage::helper('commissionjunction')->getCommissionJunctionUdo($this->getOrderId()); ?></script>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在HTML页面中动态显示php代码

来自分类Dev

如何在angular js中动态构建页面

来自分类Dev

如何在magento中创建子页面?

来自分类Dev

如何在magento的页脚中创建页面

来自分类Dev

如何在magento中创建子页面?

来自分类Dev

react.js - 如何在动态生成的按钮中成功添加元素?

来自分类Dev

如何在FragmentStatePagerAdapter中动态添加页面

来自分类Dev

如何在VSCode中启用Node.js代码自动完成功能?

来自分类Dev

如何在Symfony 1.4的成功页面中获取数据数组

来自分类Dev

如何在Next js中为嵌套动态路由命名页面模板

来自分类Dev

如何在Magento中添加自定义PHP页面?

来自分类Dev

如何在Eclipse中禁用代码完成功能?

来自分类Dev

如何在Android Studio中禁用代码完成功能?

来自分类Dev

如何在Eclipse中禁用代码完成功能?

来自分类Dev

如何在IntelliJ中打开自动代码完成功能?

来自分类Dev

如何在bash中检查mpi代码是否成功?

来自分类Dev

JS,HTML。Google美化。如何将经过修饰的html代码动态插入html页面中的contenteditable div中

来自分类Dev

如何在我的React js页面中显示来自json数据的html代码?

来自分类Dev

如何在Razor页面中使用Webpack捆绑包中的Vue.js代码?

来自分类Dev

如何在 WooCommerce 订单完成页面中插入 Google Merchant Review JS 代码

来自分类Dev

如何在组件集成测试中将如何测试模型成功添加到商店中

来自分类Dev

Magento 2:如何在 CMS 页面中的正文标记结束之前添加自定义 js 文件

来自分类Dev

Magento:如何在一页结帐页面上添加促销代码表单?

来自分类Dev

如何在woocommerce产品页面中添加动态选择字段

来自分类Dev

如何在php中动态创建不存在的页面

来自分类Dev

如何在共享视图页面中获取动态值?

来自分类Dev

如何在JSP页面中动态设置<title>

来自分类Dev

如何在单个页面中动态创建多个模态

来自分类Dev

如何在gatsbyJS中动态创建带有参数的页面?

Related 相关文章

  1. 1

    如何在HTML页面中动态显示php代码

  2. 2

    如何在angular js中动态构建页面

  3. 3

    如何在magento中创建子页面?

  4. 4

    如何在magento的页脚中创建页面

  5. 5

    如何在magento中创建子页面?

  6. 6

    react.js - 如何在动态生成的按钮中成功添加元素?

  7. 7

    如何在FragmentStatePagerAdapter中动态添加页面

  8. 8

    如何在VSCode中启用Node.js代码自动完成功能?

  9. 9

    如何在Symfony 1.4的成功页面中获取数据数组

  10. 10

    如何在Next js中为嵌套动态路由命名页面模板

  11. 11

    如何在Magento中添加自定义PHP页面?

  12. 12

    如何在Eclipse中禁用代码完成功能?

  13. 13

    如何在Android Studio中禁用代码完成功能?

  14. 14

    如何在Eclipse中禁用代码完成功能?

  15. 15

    如何在IntelliJ中打开自动代码完成功能?

  16. 16

    如何在bash中检查mpi代码是否成功?

  17. 17

    JS,HTML。Google美化。如何将经过修饰的html代码动态插入html页面中的contenteditable div中

  18. 18

    如何在我的React js页面中显示来自json数据的html代码?

  19. 19

    如何在Razor页面中使用Webpack捆绑包中的Vue.js代码?

  20. 20

    如何在 WooCommerce 订单完成页面中插入 Google Merchant Review JS 代码

  21. 21

    如何在组件集成测试中将如何测试模型成功添加到商店中

  22. 22

    Magento 2:如何在 CMS 页面中的正文标记结束之前添加自定义 js 文件

  23. 23

    Magento:如何在一页结帐页面上添加促销代码表单?

  24. 24

    如何在woocommerce产品页面中添加动态选择字段

  25. 25

    如何在php中动态创建不存在的页面

  26. 26

    如何在共享视图页面中获取动态值?

  27. 27

    如何在JSP页面中动态设置<title>

  28. 28

    如何在单个页面中动态创建多个模态

  29. 29

    如何在gatsbyJS中动态创建带有参数的页面?

热门标签

归档