2010-12-03 1 views
4

У меня возникла проблема при попытке использовать макеты в Play! Фреймворк. Насколько мне известно, макет имеет тег SINGLE #{doLayout /}, который указывает, где должен быть размещен весь код дочернего представления. Это означает, что весь код в определенном представлении, например, списка Users (list.html), вводится в середину тела макета. Теперь я обнаружил, что некоторые из моих представлений требуют javascript, который является особым для этих представлений, и поэтому я хотел бы включать теги сценариев только в эти представления, а не на каждое представление, которое наследуется от макета. Механизм просмотра Razor в ASP.NET MVC позволяет использовать разные разделы в макете, которые заполняются представлением, расширяющим этот макет, но я не знаю, поддерживает ли Play что-то вроде этого.Играть! Рамка: макеты с разными разделами

Вы видите решение этой проблемы?

+1

Почему заводной тег, это потому, что игра использует GSPS для макета? – 2010-12-03 09:06:52

ответ

9

Вы также можете использовать # получить, # набор тегов, чтобы определить другие блоки. Например:

#{set 'anyBlock'} 
    <h1>Main title</h1> 
#{/set} 

и:

#{get 'anyBlock' /} 
+0

# {get 'anyBlock' /} будет использоваться в макете, что позволяет мне переопределить эту часть с содержимым с детского вида? – Diego 2010-12-03 17:44:51

1

Вы можете использовать тег сценария в своих конкретных представлениях. Например:

#{script 'jquery.js' /} 

Я рекомендую вам прочитать эту страницу документации:

http://www.playframework.org/documentation/1.1/tags#script

+1

Это добавит тег скрипта в середине моей страницы, и в соответствии с хорошими практиками я хотел бы добавить скрипты в нижней части страницы. – Diego 2010-12-03 17:44:11

Смежные вопросы