所以我遇到了一个奇怪的问题,似乎无法找到解决方案。也许某人有同样的问题,可以解释一下。
我正在编写一个组件,我正在为它添加前端编辑,但是当我保存我的前端表单时,我最终得到以下错误:
您不得使用该链接直接访问该页面 (#1)。
我已将问题跟踪到JController中的checkEditId()函数。它返回false,因为“我已经以某种方式刚刚到达表单而没有点击链接”。所以我理解我不得不设置setUserState('com_component.context.item',$ id);因为问题是“id”不在用户会话中。
但我在哪里添加?我尝试使用setUserState()函数手动添加它,但这似乎不起作用,我也可以看到com_content不这样做吗?
我是怎么告诉Joomla允许用户编辑项目 - 不是从ACL的角度来看,而是从 - 他只是点击编辑链接的角度来看? < / p>
答案 0 :(得分:3)
我遇到了完全相同的问题。为我解决的是确保列表视图中的URL格式正确。所以我有:
管理员/ index.php的选项= com_helloworld&安培;图=报价&安培;布局编辑=&安培; offer_id = 27
但您需要以下网址:
管理员/ index.php的选项= com_helloworld&安培;任务= offer.edit&安培; offer_id = 27
这可确保将正在编辑的项目的ID添加到会话范围,然后在checkEditId()中进行检查。
这应该可以解决您的问题。