Шаблонный движок (Velocity, FreeMaker и т. Д.) Позволяет вам, помимо прочего, разбивать ваш HTML на повторно используемые куски.Например, у вас есть <div>
, показывающий объявление, которое появляется во многих местах на вашем сайте - вы можете составить файл, содержащий этот <div>
и его содержимое, один раз (с Velocity: файл 'myAd.vm') и загрузить его.на любую нужную страницу (с Velocity: apply #parse('myAd.vm')
.
Мне нравится думать об этих файлах .vm как о функциях, они "запускаются" (анализируются) и выплевывают текстовое содержимое. Они могут иметь "параметры "- в Velocity вы можете #set( $myParam = 'foo' )
непосредственно перед синтаксическим анализом файла 'myAd.vm' и использовать эту переменную внутри этого файла.
Мой вопрос: как правильно определить CSS и Javascript вих собственные файлы вписываются в это?
«myAd.vm» нуждается в CSS-стиле, вы можете определить этот CSS в этом файле с помощью тега <style>
- что приведет к HTML-документу со стилемтег в его <body>
- не в его <head>
и, конечно, не в отдельном файле.
Или вы можете определить CSS, который нужен myAd.vm, в отдельном myAd.css.файл, и требуют, чтобы любой документ HTMLt, который анализирует myAd.vm, будет иметь <LINK REL="StyleSheet" HREF="myAd.css" TYPE="text/css">
в своем теге head.Это проблема, поскольку она делает вещи более сложными и громоздкими, и - вы можете захотеть проанализировать файл 'myAd.vm' в зависимости от условия (например, в Velocity у вас может быть #if(someCondition) #parse('myAd.vm') #end
), то есть вы нена самом деле заранее не знаю, должен ли тег head ссылаться на этот внешний файл CSS.
Есть мысли?Благодаря.