0

Laravel フレームワークにOrchestra プラットフォームを使用しようとしています。

プラットフォーム用のAuthorizeRobotixMelody Theme Manager、およびCello CMS拡張機能をインストールしました。

Authorize、Robotix、および Cello CMS 拡張機能はすべて [Resources] の下にリストされ、Melody Theme Manager は [Extensions] の横の最上位項目としてリストされることに気付きました。

私が望むのは/orchestra/manages/pages、Melody Theme Manager に 経由でアクセスできるのと同じ方法で、 Cello CMS 拡張機能に 経由でアクセスできるようにすること/orchestra/manages/melody.themesです。

トップメニュー項目を追加するには、次のようなものを使用できることがわかりました。

// Attach a menu only if user has the authorization to manage Pages
$acl = Orchestra\Acl::make('cello');
$menu = Orchestra::menu();

if ($acl->can('manage-pages')) {
    $menu->add('Cello', 'after:themes')
        ->title('Pages')
        ->link(handles('orchestra::resources/cello'));
}

の中にEvent::listen('orchestra.started: backend', function()

もちろん、問題はそれがまだ指してresources/celloいるということです。代わりにどのように応答させることができmanages/pagesますか?

4

1 に答える 1

4

Cello CMS はOrchestra\Resources、複雑な CRUD により優れた API を提供するように設計されmanages/pagesており、コントローラーにルーティングするために追加のコードを追加する必要がある単純なイベント リスナーです。現時点では、Cello はページ コンテンツを処理するだけですが、将来的には投稿 (ブログのようなもの) を追加することを検討してmanages/pagesいます。API に従うと、維持するのが難しくなります (個人的な好み)。

「Melody Theme Manager」と「Authorize」の 2 つの使用例を取り上げます。Melody はpages/manages単にテーマの選択 (単一の ACL による) しか必要としないという理由で使用していますが、Authorize はresources「manage-acl」と「manage-role」の 2 種類の ACL と CRUD の 2 種類のリソースがあるため使用しています。ロールの場合、および ACL メトリックの構成。

リソースをリストに表示するかどうかを切り替える可能性を検討していますが、そのアプローチには賛否両論がありますmanages/pages

于 2012-12-30T14:37:23.467 に答える