我使用以下两行在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变量显然不可用于模板。
我最初问这个问题是继续进行我的项目,但是我发现了这个问题,所以我想我也将分享解决方案。
在/modules/blockwishlist/managewishlist.php文件中-您需要添加以下行:
$context->smarty->assign(array('static_token' => Tools::getToken(false))); /* make $static_token available in tpl */
仅在此行之前:
$action = Tools::getValue('action');