- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我在 Magento Stackexchange 上问过这个问题没有任何成功,所以我现在在这里问。
我正在使用 Magento Community Edition 1.9.0.1 并正确创建和注册了我的模块,但我似乎无法检测到运输方式。基本上,如果选择了统一费率 或免费送货,我想隐藏货到付款。这是我的观察者类代码:
class Kol_PaymentToggle_Model_Observer
{
public function paymentMethodIsActive(Varien_Event_Observer $observer) {
$event = $observer->getEvent();
$method = $event->getMethodInstance();
$result = $event->getResult();
$quote = $observer->getEvent()->getQuote();
$shippingMethod = $quote->getShippingAddress()->getShippingMethod();
if($shippingMethod == "standardshipping" || $shippingMethod == "free") {
if($method->getCode() == 'cashondelivery' ) {
$result->isAvailable = false;
}
}
}
}
我猜我没有使用正确的送货方式代码名称或付款方式代码名称,但我不确定。有人有什么建议吗?
编辑:我只启用了 3 种送货方式:
编辑 2:config.xml
的输出<?xml version="1.0"?>
<config>
<modules>
<Kol_PaymentToggle>
<version>0.0.1</version>
</Kol_PaymentToggle>
</modules>
<frontend>
<events>
<payment_method_is_active>
<observers>
<paymentfilter_payment_method_is_active>
<type>singleton</type>
<class>Kol_PaymentToggle_Model_Observer</class>
<method>paymentMethodIsActive</method>
</paymentfilter_payment_method_is_active>
</observers>
</payment_method_is_active>
</events>
</frontend>
</config>
希望这些额外的信息能够对我有所帮助!
最佳答案
至于我得到的,你试图隐藏一些基于送货方式的付款方式。为此,您根本不需要观察事物。只要跟着我,你就可以做到这一点,
每个方法(在一个页面中 check out )将选择的方法发布到下一个级别。这样您就可以在付款方式级别获得选择的送货方式。只需打印
中的帖子内容app/design/frontend/base/default/template/checkout/onepage/payment/methods.phtml
在此添加下面一个,
<?php print_r($_POST); ?>
现在您可以获得上一步选择的运输方式。请注意,现在,您可以在同一个文件中添加简单的逻辑(if else)条件来隐藏付款,
例如这里我想隐藏支票/汇票
支付方式,如果送货方式是flat
。这里的支付方式代码是checkmo
。您可以通过简单地打印该变量来获取付款方式代码,例如 echo $_code = $_method->getCode();
在同一个文件中。所以这里只需添加简单的 if else ,
<?php
$methods = $this->getMethods();
$oneMethod = count($methods) <= 1;
?>
<?php if (empty($methods)): ?>
<dt>
<?php echo $this->__('No Payment Methods') ?>
</dt>
<?php else:
foreach ($methods as $_method):
echo $_code = $_method->getCode();
if($_POST['shipping_method'] == 'flatrate_flatrate') {
if($_code == 'checkmo') {
continue;
}
}
?>
在这里,
if($_POST['shipping_method'] == 'flatrate_flatrate') {
if($_code == 'checkmo') {
continue;
}
}
检查送货方式并跳过我们不想显示的付款方式。而已。如果您有任何疑问,请在这里发表评论。
注意:
shipping_method => flatrate_flatrate
paymet_method => checkmo
关于php - Magento - OnePage Checkout - 根据运输方式隐藏付款方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26604267/
我的目的是通过将第三方 javascript(例如 google analytics、optimizely、pricegrabber 等)插入 onepage success 的页脚来通过多个 cha
我是 TYPO3 的新手,我在实现以下方面时遇到了问题: 一个网站结构看起来像这样 -家 —子内容1 ——子内容2 —子内容3 ——等等。 -第 1 页 -第 2 页 -等... 主页应该包含“sub
在这个页面上: http://www.petertoth.me/stuff/petertoth_old/www.petertoth.me/index.html 有一个向下滚动按钮,可以平滑地向下滚动到
我有一个 Woocommerce One Page Checkout 网站,当前包含一种产品。到目前为止一切正常,但由于某种原因我没有看到显示的运费。 价格计算正确,当我进入付款门户时,运费会添加到总
我建了这个网站http://www.graphink.be我在哪里使用 OnepageScroll 插件。我遇到了插件最奇怪的行为。 我将自定义导航挂接到滚动效果。 当我单击导航链接时,向下按各部分,
我想做一个滚动效果,让网站变滚动到正确的链接。 (示例:http://callmenick.com/lab-demos/7-single-page-smooth-scroll/) 但是我想排除一个元素
我正在为 Magento 设计一个主题,只是修改基本主题。当我编辑 app/design/frontend/base/default/template/checkout/onepage/billing
我正在通过新模块向 Magento 结帐中添加一个额外的复选框字段,用于订阅时事通讯。 到目前为止,我已将代码添加到我的布局文件 (billing.phtml) 中: Please untick th
我正在尝试使用 onepage-scroll.js。 当我尝试查看 Mac 上本地提供的 jquery.onepage-scroll.js 演示时,我在平板电脑、iPad 上滚动时遇到问题。我可以从
我在 Magento Stackexchange 上问过这个问题没有任何成功,所以我现在在这里问。 我正在使用 Magento Community Edition 1.9.0.1 并正确创建和注册了我
我正在编辑我的结帐,并想修改运输方式的显示。我遇到了调用 block $this->getChildHtml('available'),但是没有找到对应的phtml文件。 我还在购物车中保存了一个 s
我的 Magento 版本是 - 1.4.1.1 我有两个问题: 1) 当我完成 Onepage 结账的各个步骤(注册、计费、运输和付款选项卡)时,有时在此过程中我会被重定向到购物车页面。没有错误,没
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-top
我正在使用 peachananr 的插件 OnePage Scroll 使我的站点成为单页可滚动站点。我在 Firefox 中特别遇到了鼠标滚轮事件的问题,这使我的站点导航中断。具体来说,我只能向上滚
我想创建一个 OnePage 网站,并在 Bootstrap 折叠时创建了侧边栏。现在我想隐藏此侧边栏并在单击链接后转到部分,但它不起作用。这是我的代码: HTML
我发现了这个很棒的插件,叫做 onepage-scroll ,这满足了我的需求,除了一件事。我的一些页面( 标签)可能大于一个屏幕。我如何对其进行自定义,使其仅在完成该部分内的“常规”滚动时才滚动?
我的 Magento 商店已转换为“一次交易”类型的商店,并且结帐流程中断。我一直在尝试对此进行调试,但遇到了瓶颈,主要是因为我对 Magento 的了解有限。 saveOrder步骤,点击“Plac
最近我使用了 Google Checkout a.k.a Google Wallet。我的任务是让它作为付款方式步骤中的选项单页结账。 我的 Mangento 版本是 CE 1.6.2.0 默认情况下
最近我使用了 Google Checkout a.k.a Google Wallet。我的任务是让它作为付款方式步骤中的选项单页结账。 我的 Mangento 版本是 CE 1.6.2.0 默认情况下
我正在尝试同时使用 scrollReveal.js和 onepage-scroll.js scrollReveal 应该在浏览器显示元素时为元素设置动画。 onepage-scroll 有助于“伪造”
我是一名优秀的程序员,十分优秀!