问题描述
嗨,我正在尝试(在 odoo 10 中),如果手头的产品数量为零,则在网站上显示“缺货”。 当我以管理员身份登录时,以下代码工作正常,但在普通网站访问者的情况下,它会给出“500:内部服务器错误” 请问有什么解决办法吗? Screenshot
解决方法
发生这种情况是因为 qty_available
是一个调用 _compute_quantities
方法的函数字段。此方法访问不同的模型,因此当没有用户或没有必要权限的用户进入时,odoo 会引发 AccessError
。
为了解决这个问题,让我们通过 sudo()
<t t-if="product.sudo().qty_available <= 0">
<div class="ribbon-wrapper out-of-stock" style="display: inherit !important;">
<div class="ribbon btn btn-danger">Out of Stock</div>
</div>
</t>