Changed template variable stylesheetDir to themeStylesheetDir for clarity. Added examples of how to add a script from a body template. Pass themedir to ScriptList object.
This commit is contained in:
parent
2ada3b7c35
commit
df683191cf
4 changed files with 30 additions and 6 deletions
|
@ -209,10 +209,10 @@ public class FreeMarkerHttpServlet extends VitroHttpServlet {
|
||||||
// This value will be available to any template as a path for adding a new stylesheet.
|
// This value will be available to any template as a path for adding a new stylesheet.
|
||||||
// It does not contain the context path, because the methods to generate the href
|
// It does not contain the context path, because the methods to generate the href
|
||||||
// attribute from the string passed in by the template automatically add the context path.
|
// attribute from the string passed in by the template automatically add the context path.
|
||||||
map.put("stylesheetDir", themeDir + "/css");
|
map.put("themeStylesheetDir", themeDir + "/css");
|
||||||
|
|
||||||
map.put("stylesheets", getStylesheetList(themeDir));
|
map.put("stylesheets", getStylesheetList(themeDir));
|
||||||
map.put("scripts", getScriptList());
|
map.put("scripts", getScriptList(themeDir));
|
||||||
|
|
||||||
addDirectives(map);
|
addDirectives(map);
|
||||||
|
|
||||||
|
@ -262,14 +262,14 @@ public class FreeMarkerHttpServlet extends VitroHttpServlet {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private TemplateModel getScriptList() {
|
private TemplateModel getScriptList(String themeDir) {
|
||||||
|
|
||||||
// For script and stylesheet lists, use an object wrapper that exposes write methods,
|
// For script and stylesheet lists, use an object wrapper that exposes write methods,
|
||||||
// instead of the configuration's object wrapper, which doesn't. The templates can
|
// instead of the configuration's object wrapper, which doesn't. The templates can
|
||||||
// add stylesheets and scripts to the lists by calling their add() methods.
|
// add stylesheets and scripts to the lists by calling their add() methods.
|
||||||
BeansWrapper wrapper = new DefaultObjectWrapper();
|
BeansWrapper wrapper = new DefaultObjectWrapper();
|
||||||
try {
|
try {
|
||||||
return wrapper.wrap(new ScriptList());
|
return wrapper.wrap(new ScriptList(themeDir));
|
||||||
} catch (TemplateModelException e) {
|
} catch (TemplateModelException e) {
|
||||||
log.error("Error creating script TemplateModel");
|
log.error("Error creating script TemplateModel");
|
||||||
return null;
|
return null;
|
||||||
|
|
|
@ -101,7 +101,7 @@ public class AutocompleteController extends FreeMarkerHttpServlet implements Sea
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
// make sure an IndividualDao is available
|
// make sure an IndividualDao is available
|
||||||
if( vreq.getWebappDaoFactory() == null
|
if( vreq.getWebappDaoFactory() == null
|
||||||
|| vreq.getWebappDaoFactory().getIndividualDao() == null ){
|
|| vreq.getWebappDaoFactory().getIndividualDao() == null ){
|
||||||
log.error("makeUsableBeans() could not get IndividualDao ");
|
log.error("makeUsableBeans() could not get IndividualDao ");
|
||||||
|
@ -120,7 +120,11 @@ public class AutocompleteController extends FreeMarkerHttpServlet implements Sea
|
||||||
log.debug("query for '" + qtxt +"' is " + query.toString());
|
log.debug("query for '" + qtxt +"' is " + query.toString());
|
||||||
|
|
||||||
// Get the list of uris that should be excluded from the results
|
// Get the list of uris that should be excluded from the results
|
||||||
List<String> urisToExclude = Arrays.asList(vreq.getParameterValues("filter"));
|
String filters[] = vreq.getParameterValues("filter");
|
||||||
|
List<String> urisToExclude = new ArrayList<String>();
|
||||||
|
if (filters != null) {
|
||||||
|
urisToExclude = Arrays.asList(vreq.getParameterValues("filter"));
|
||||||
|
}
|
||||||
|
|
||||||
if (query == null ) {
|
if (query == null ) {
|
||||||
doNoQuery(templateName, map, config, response);
|
doNoQuery(templateName, map, config, response);
|
||||||
|
|
|
@ -50,3 +50,4 @@
|
||||||
<@dump var="urls" />
|
<@dump var="urls" />
|
||||||
<@dump var="fruit" />
|
<@dump var="fruit" />
|
||||||
<@dumpDataModel />
|
<@dumpDataModel />
|
||||||
|
|
||||||
|
|
|
@ -36,3 +36,22 @@
|
||||||
<#include "partials/scripts.ftl">
|
<#include "partials/scripts.ftl">
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
||||||
|
<#--
|
||||||
|
Three ways to add a stylesheet:
|
||||||
|
|
||||||
|
A. In theme directory:
|
||||||
|
${stylesheets.addFromTheme("/sample.css");
|
||||||
|
${stylesheets.add(themeStylesheetDir + "/sample.css")}
|
||||||
|
|
||||||
|
B. Any location
|
||||||
|
${stylesheets.add("/edit/forms/css/sample.css)"}
|
||||||
|
|
||||||
|
To add a script:
|
||||||
|
|
||||||
|
A. In theme directory:
|
||||||
|
${scripts.addFromTheme("/sample.js");
|
||||||
|
|
||||||
|
B. Any location
|
||||||
|
${scripts("/edit/forms/js/sample.js)"}
|
||||||
|
-->
|
Loading…
Add table
Add a link
Reference in a new issue