如何在 prestashop 的结帐页面中隐藏送货和账单地址的更新按钮

How to hide update button from shipping and billing address in checkout page in prestashop

我想在 prestashop 的结帐页面上隐藏 "update" 按钮和 "Choose delivery address option"。我需要编辑哪个文件才能做到这一点?

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

祝你好运。

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

第一个: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:

<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,但我觉得没用。 欢呼 ;)

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

我尝试在 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 中是否有解决此问题的方法?