如何从Prestashop 1.6.1.x中的managewishlist.tpl文件中获取$ static_token变量

问题描述 投票:0回答:1

我使用以下两行在managewishlist.tpl文件(位于主题模块文件夹中)内创建一个“购买”按钮:

{capture}add={$product.quantity|intval}&id_product={$product.id_product|intval}{if isset($product.id_product_attribute) && $product.id_product_attribute}&ipa={$product.id_product_attribute|intval}{/if}{if isset($static_token)}&token={$static_token}{/if}{/capture}
<a class="btn btn-default ajax_add_to_cart_button add-to-cart-wishlist-button" href="{$link->getPageLink('cart', true, NULL, $smarty.capture.default, false)|escape:'html':'UTF-8'}" data-id-attribute="{$product.id_product_attribute}" data-id-product="{$product.id_product|intval}" data-minimal_quantity="{$product.quantity|intval}" title="{l s='Add to cart' mod='blockwishlist'}"><span>{l s='Buy' mod='blockwishlist'}</span></a>

...并且$ static_token变量显然不可用于模板。

prestashop-1.6 smarty3 prestashop-modules
1个回答
0
投票

我最初问这个问题是继续进行我的项目,但是我发现了这个问题,所以我想我也将分享解决方案。

在/modules/blockwishlist/managewishlist.php文件中-您需要添加以下行:

    $context->smarty->assign(array('static_token' => Tools::getToken(false))); /* make $static_token available in tpl */

仅在此行之前:

    $action = Tools::getValue('action');
© www.soinside.com 2019 - 2024. All rights reserved.