Многоразовый Табличный / Entity-специфичный блок навигации - PullRequest
0 голосов
/ 10 октября 2019

Я хочу реализовать блок навигации, показанный на большинстве страниц, связанных с сущностями. У него должны быть <h1> и <nav> с некоторыми действиями, специфичными для Model/Table, где он отображается.

Придуманный пример: веб-сайт библиотеки с этими сущностями и действиями.

  • Books
    • просмотр
    • запрос сканирования / выдержки
    • заимствование
    • возврат
    • моя история
  • Magazines
    • просмотр
    • запрос сканирования
    • подписка
    • предыдущие выпуски
    • моя история
  • Accounts
    • просмотр
    • редактирование электронной почты и пароля
    • управление способами оплаты
    • управлять подписками

Я хочу, чтобы на каждой из этих страниц был блок с панелью вкладок <h1> и <nav>, показывающей соседние действия. Аналогично тому, что вы видите в своем профиле StackOverflow (Сводка, Ответы, Вопросы, Теги и т. Д.) Или в хранилище Github (Код, Проблемы, Запросы на извлечение, Вики и т. Д.)

Итак, BooksНа страницах будут отображаться вкладки со всеми действиями, связанными с книгой, с выделением текущего. Если вы перейдете на Magazines с помощью главного / главного меню, вы увидите вкладки, связанные с журналами.

Вопросы:

  • Существует ли существующее решение? (В идеале, он будет автоматически извлекать все открытые действия из соответствующего контроллера.)
  • В противном случае, я бы попытался создать настраиваемый элемент и повторно использовать его во всех объектах - тогда это будет CakePHP-путь? Я сделал именно это на каком-то старом сайте, и это показалось мне неэффективным.

Спасибо!

...