我正在使用Magento 1.9并且有一个PHP包含文件,我用它来显示基于页面类型的facebook像素代码 . IE:购物车,结账,产品详情,目录,cms ......
我正在查看页面请求模块,控制器,操作等 . 但是,我似乎无法找到确定它们是否处于/ checkout /成功/否的方法 . 如果我尝试查看请求URI,则返回/ checkout / cart /
是否有类属性或方法可用于确定用户实际上是在订单成功页面上?
您还可以使用布局句柄 checkout_onepage_success .
checkout_onepage_success
在自定义模块的布局中以及在引用的模板文件中引用它包括facebook像素代码 .
<checkout_onepage_success translate="label"> <reference name="after_body_start"> <block type="core/template" template="example/fb/conversion.phtml" /> </reference> </checkout_onepage_success>
并且,在 example/fb/conversion.phtml 中,进行必要的处理并包含facebook像素代码 .
example/fb/conversion.phtml
<script> fbq('track','Purchase', { value: <?php echo xxx ?>, currency: '<?php echo xxx ?>', content_ids: <?php echo xxx ?>, content_type: 'product', num_items: <?php echo xxx; ?> }); </script>
我最后通过查看当前的引用ID(应该为null),当前控制器和最后的订单ID来完成它 .
function getPageType($page) { $request = $page->getRequest(); $controller = $request->getControllerName(); $session = Mage::getSingleton('checkout/session'); if($session->getLastOrderId() && !$session->getQuoteId() && $controller == 'cart') { return 'success'; } }
购买完成后,将清除当前报价 . 但是,由于我们仍然在购物车中,这意味着购买已经完成 . 我检查最后一个订单ID只是为了确保有购买 .
您可以使用:
if(Mage::app()->getRequest()->getActionName() == 'success'){ // code }
3 回答
您还可以使用布局句柄
checkout_onepage_success
.在自定义模块的布局中以及在引用的模板文件中引用它包括facebook像素代码 .
并且,在
example/fb/conversion.phtml
中,进行必要的处理并包含facebook像素代码 .我最后通过查看当前的引用ID(应该为null),当前控制器和最后的订单ID来完成它 .
购买完成后,将清除当前报价 . 但是,由于我们仍然在购物车中,这意味着购买已经完成 . 我检查最后一个订单ID只是为了确保有购买 .
您可以使用: