0

私は Symfony+SonataAdmin プロジェクトに取り組んできましたが、要素の Sonata KnpMenu の順序付けに行き詰まりました。

最初に、Sonada Admin を使用してメニューに挿入し、EventListenersそこに必要な他のルートに基づいてメニュー項目を追加しました。それはうまくいきました。問題は、ネイティブの Admin とEventListenersオプションの追加の両方を使用すると、アルファベット順が崩れ、オプションが次のように分離されてしまうことです。

A option (EVTL)

E option (EVTL)

F option (EVTL)

B option (Adm)

C option (Adm)

D option (Adm)

多くの場所を見回してみましたが、誰もこれを手伝ってくれませんでした。

4

1 に答える 1

1

私は似たようなことを達成しようとしましたが、以下の例のように解決しました(より良い解決策があるかどうかはわかりませんが、それは私にとってはうまくいきました)。イベントサブスクライバーを作成しました:

class ConfigureMenuEventSubscriber implements EventSubscriberInterface
{
    public static function getSubscribedEvents()
    {
        return [
            ConfigureMenuEvent::SIDEBAR => ['onConfigureMenu', 10]
        ];
    }

    public function onConfigureMenu(ConfigureMenuEvent $event)
    {
        $children = $event->getMenu()->getChildren();

        // todo some sorting operation with array

        $event->getMenu()->setChildren($children);
    }

}
于 2017-10-24T12:56:13.903 に答える