【问题标题】:How to hide update button from shipping and billing address in checkout page in prestashop如何在 prestashop 的结帐页面中隐藏送货和帐单地址的更新按钮
【发布时间】:2016-11-26 17:32:44
【问题描述】:

我希望在 prestashop 的结帐页面上隐藏“更新”按钮和“选择送货地址选项”。我需要编辑哪个文件才能做到这一点?

【问题讨论】:

  • 您启用了 5 步或快速结帐?
  • 这是一页结帐。
  • 好的,我正在更新 anwser ;)

标签: smarty prestashop prestashop-1.6


【解决方案1】:

您有两种方法可以隐藏这些按钮。

第一:CSS
编辑addresses.css 放置在您的模板文件夹中,我猜它是您的默认模板,所以文件是prestashop/themes/default-bootstrap/css/addresses.css。添加这行代码:

/* 
 * We have to add #order (or #order-opc) selector to avoid to hide buttons 
 * in addresses page that is in my account area 
*/
/* This is for 5 step checkout */
#order .address li.address_update {
    display: none;
}
#order #id_address_delivery {
    display: none;
}

/* This is for one page checkout (opc) */
#order-opc .address li.address_update {
    display: none;
}
#order-opc #id_address_delivery {
    display: none;
}

第二个:Smarty/TPL
编辑模板的 order-address.tpl(如果您有 5 步结帐),否则编辑 order-opc.tpl,在您的情况下为 prestashop/themes/default-bootstrap/order-address.tplprestashop/themes/default-bootstrap/order-opc.tpl

搜索此选择:

<select name="id_address_delivery" id="id_address_delivery" class="address_select form-control">
    {foreach from=$addresses key=k item=address}
        <option value="{$address.id_address|intval}"{if $address.id_address == $cart->id_address_delivery} selected="selected"{/if}>{$address.alias|escape:'html':'UTF-8'}</option>
    {/foreach}
</select>

并评论它(how to comment in smarty

在文件底部注释这两行代码:

{*{capture}<a class="button button-small btn btn-default" href="{$smarty.capture.addressUrlAdd}" title="{l s='Update' js=1}"><span>{l s='Update' js=1}<i class="icon-chevron-right right"></i></span></a>{/capture}*}
{*{addJsDefL name=liUpdate}{$smarty.capture.default|@addcslashes:'\''}{/addJsDefL}*}

我猜还有第三种方式,用JS,但我觉得没用。 干杯;)

【讨论】:

  • 在 css 中不需要#order-opc 然后为我工作。谢谢老兄!
【解决方案2】:

我希望在交货地址和发票地址相同时隐藏更新地址按钮,并在它们不同时显示它。请问这个有解决办法吗?谢谢

我尝试在ordre-address.tpl 中添加以下内容:

{* ADDED IF TO REMOVE EDIT BUTTONS IF ONLY 1 ADDRESS *}
{if $cart->id_address_invoice == $cart->id_address_delivery}
{capture}<a class="button button-small btn btn-default" style="display:none;" href="{$smarty.capture.addressUrlAdd}" title="{l s='Edit Address' js=1}"><span>{l s='Edit Address' js=1}<i class="fa fa-chevron-right right"></i></span></a>{/capture} 
{else}
{capture}<a class="button button-small btn btn-default" href="{$smarty.capture.addressUrlAdd}" title="{l s='Edit Address' js=1}"><span>{l s='Edit Address' js=1}<i class="fa fa-chevron-right right"></i></span></a>{/capture}
{/if}
{* END ADDED IF *}

这会隐藏,但在更改复选框状态页面时,两个按钮都需要刷新以显示按钮状态。我尝试在整个页面重新加载时刷新 Javascript,但这会删除复选框状态

在 JQuery 中有解决此问题的方法吗?

【讨论】:

    【解决方案3】:

    在您的主题文件夹中查找 order-address.tpl。

    祝你好运。

    【讨论】:

    • 不,我已经在这个文件中看到过,但我不能做我需要的。
    猜你喜欢
    • 2014-04-04
    • 2019-04-01
    • 2018-02-08
    • 2015-09-17
    • 2016-09-27
    • 1970-01-01
    • 2017-10-02
    • 2021-11-12
    • 1970-01-01
    相关资源
    最近更新 更多