背景
我使用小部件这个词作为一个局部视图,它有自己的控制器(所以它自己的动作),它几乎被放置在所有页面中。我通过 HMVC 实现了这个渲染,这很棒。
问题
现在,问题是小部件本身执行操作。想想一个购物车小部件。该小部件放置在所有页面中,因此用户可以一直看到他/她的东西。并且小部件具有与之相关的操作,例如:RemoveItem、RefreshCart、ApplyDiscountCoupon 等。此类操作应由按钮或链接触发,并且链接应类似于(在 HMVC 中):
<a href='<?site_url()?>/cart/cart/removeitem/the_item_id'>Remove this item</a>
行。现在用户点击该链接,购物车模块和购物车控制器已加载并执行操作,操作应如下所示:
function removeitem($itemid)
{
// remove the item from db
...
// "load the view" ???
}
如您所见,我的问题是如何在 HMVC 模块中加载视图。问题是,如果我只加载购物车视图,它只会显示我的购物车,我不能只是重定向或加载主页,因为它可以是任何主页,也就是说:购物车可以在任何主页(选择产品,继续购买,查看产品详细信息、账单信息、结帐等)。:/
另一件事:一个要求是我不能在这个项目中使用 AJAX。
你知道 HMVC 是如何处理这个问题的吗?
提前致谢。