如何在 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.tpl
或 prestashop/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 中是否有解决此问题的方法?
我想在 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.tpl
或 prestashop/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 中是否有解决此问题的方法?