0

だから私は少し奇妙な問題に遭遇し、解決策を見つけることができないようです. 誰かが同じ問題を抱えていて、光を当てることができるかもしれません。

コンポーネントを作成していて、それにフロント エンド編集を追加していますが、フロント エンド フォームを保存すると、次のエラーが発生します。

そのリンクを使用してそのページに直接アクセスすることは許可されていません (#1)。

JController の checkEditId() 関数まで問題を追跡しました。「リンクをクリックせずに、どういうわけかフォームにたどり着いた」ため、false を返します。だから私はどうにかして setUserState('com_component.context.item', $id); をしなければならないことを理解しています。問題は、「id」がユーザー状態セッションにないことです。

しかし、どこにそれを追加しますか? setUserState() 関数を使用して手動で追加しようとしましたが、うまくいかないようです。

ACL の観点からではなく、編集リンクの観点から、ユーザーがアイテムを編集できることを Joomla に伝えるにはどうすればよいですか?

4

1 に答える 1

3

私はまったく同じ問題を抱えていました。私にとってそれを解決したのは、リスト ビューで URL 形式が正しいことを確認することでした。だから私は持っていた:

administrator/index.php?option=com_helloworld&view=offer&layout=edit&offer_id=27

ただし、次のような URL が必要です。

administrator/index.php?option=com_helloworld&task=offer.edit&offer_id=27

これにより、編集中のアイテムの ID がセッション スコープに追加され、checkEditId() でチェックされるようになります。

これで問題が解決するはずです。

于 2012-08-08T10:54:24.483 に答える