2016-01-08 13 views
0

Я довольно новичок в Grails, и мне сложно найти информацию об этом. Я прихожу из CakePHP, где вы можете легко создать плагин для темы вашего приложения, и я пытаюсь реплицировать такую ​​настройку в Grails.Как создать многоразовые макеты и строительные леса в Grails 3.x

Я хочу создать повторно используемые макеты и строительные леса, чтобы все приложения, которые я создаю с помощью Grails, будут иметь общий внешний вид. Я успешно настроил макеты и шаблоны лесов в одном приложении Grails и изучал упаковку этого в плагин, который можно было импортировать в другой проект, но мне еще не удалось выполнить эту работу (я действительно упаковал плагин и импортировал его в другой проект, но Я не могу понять, как получить доступ к макетам плагинов и шаблонам лесов из приложений).

Каков наилучший способ достичь этого? Разве это даже хорошая идея, чтобы упаковать это как плагин, или я должен просто перезаписать основной макет Grails по умолчанию и импортировать собственный шаблон лесов в каждом проекте?

Если идти по пути плагин хороший путь:

  1. Как применить макеты моего плагина и шаблон люльки из моего приложения
  2. Я хотел бы создать «страницу помощи» в плагин, который будет доступным из основного приложения (только в dev). Эта страница будет . Позвольте мне подтвердить, что макеты работают нормально, и также предоставит другим разработчикам, использующим эти инструкции плагина, на , как использовать шаблоны плагина. Как получить доступ к веб-странице из плагина через приложение Grails?

Если плагин не подходит, что вы рекомендуете?

ответ

0

Да, плагин - отличный способ пойти. Я просто процитирую documentation:

Когда плагин обеспечивает контроллер может также обеспечить взгляды по умолчанию быть оказаны. Это отличный способ модульного приложения через плагины. Механизм разрешения разрешения Grails будет Сначала найдите вид в приложении, в котором он установлен, и если , который не работает, попытается найти представление в плагине. Это означает, что вы можете переопределять представления, предоставляемые плагином, создавая соответствующие GSP в каталоге приложения grails-app/views приложения.

Например, рассмотрите контроллер под названием BookController, который является , предоставленным плагином 'amazon'. Если выполняемое действие является списком, Grails сначала ищет вид под названием grails-app/views/book/list.gsp, а если это не удается, он будет искать тот же вид относительно плагина.

В принципе, вы можете получить доступ к представлениям плагина, обратившись к ним так, как если бы представления находились в самом приложении.

+0

Спасибо! Мне удалось получить немного дальше после публикации моего вопроса. Я переименовал шаблон основного макета плагина на что-то еще и смог получить к нему доступ, используя новое имя в приложении (которое в основном представляет собой демонстрацию того, что вы описали выше).Затем я понял, что не смог попасть на страницу справки плагина, потому что URL-адрес приложения переписывал один из моего плагина (нет пути к моей веб-странице). Теперь я смогу получить гораздо больше ... –