Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Predefined variable with value for template usage template.
Data Type
NameTemplateData TypeDefault ValueDescription
base_link- java.lang.String  Base URL of current Userview
body_classeslayout.ftljava.lang.String  

Used by system to add the following CSS classes and current locale code as CSS class to <body> tag.

embeded - When userview is in embed mode.

rtl - When System setting set display from right to left or language set to Arabic.

 

body_idlayout.ftl java.lang.String  Use current userview menu page Id or Custom Id as <body> tag id
build_numberbuild_number- java.lang.String  Joget build number
categories_container_idmenus.ftl  java.lang.Stringcategory-containerId of the container which contains all menu categories 
categories_container_classesmenus.ftl  java.lang.Stringnav nav-tabs nav-stacked main-menuCSS classes of the container which contains all menu categories 
category_classesmenus.ftl  java.lang.StringcategoryCSS classes of menu category 
combine_single_menu_categorymenus.ftl boolean falseFlag to display the only menu in a category to replace the category as 1st level menu. 
contentcontentContainer.ftl java.lang.String  Main content of the current page. Content from the Userview Menu or login form.
content_containerlayout.ftl java.lang.String  Value from theme getContentContainer method
content_idcontentContainer.ftl  java.lang.StringcontentId of content container 
context_pathlogin.ftl java.lang.String  Context Path of the Joget Server URL
csshead.ftl java.lang.String  Value from theme getCss method
current_category_classesmenus.ftl  java.lang.Stringcurrent-category activeExtra CSS classes for current menu category 
current_menu_classesmenus.ftl  java.lang.Stringcurrent activeExtra CSS classes for current menu 
embedcontentContainer.ftl boolean  Flag to decide whether userview is needed to display in embed mode
fav_icon_linkhead.ftl java.lang.String Value from theme getFavIconLink  method
first_category_classesmenus.ftl  java.lang.StringfirstExtra CSS classes for first menu category  
first_menu_classesmenus.ftl   java.lang.StringfirstExtra CSS classes for first menu in the menu category
footerlayout.ftl java.lang.String  Value from theme getFooter method
headlayout.ftl java.lang.String Value from theme getHead method
headerlayout.ftl java.lang.String Value from theme getHeader method
hide_navcontentContainer.ftl boolean falseFlag to hide navigator 
home_page_link

pageNotFound.ftl,

header.ftl

 java.lang.String  URL to the userview home page menu
is_logged_inheader.ftl boolean  Flag to decide whether there is a logged in user
is_login_page- boolean  Whether or not the current page is a login form page
joget_headerjoget_headerhead.ftl java.lang.String  Additional HTML template injected by system to the header
joget_footerlayout.ftl java.lang.String  Additional HTML template injected by system to the footer
jshead.ftl java.lang.String Value from theme getJs method
js_css_libhead.ftl java.lang.String Value from theme getJsCssLib method
last_category_classesmenus.ftl  java.lang.StringlastExtra CSS classes for last menu category  
last_menu_classesmenus.ftl  java.lang.StringlastExtra CSS classes for last menu in the menu category  
localelayout.ftl java.lang.String  Current language code of the system
login_error_classeslogin.ftl  java.lang.Stringform-errors alert alert-warningCSS classes for login error message container 
login_exceptionlogin.ftl java.lang.String  To keep exception message when a login attempt failure.
login_form_afterlogin.ftl java.lang.String  Value from "Custom HTML (After Login Form)" under Userview Builder - Settings
login_form_beforelogin.ftl java.lang.String Value from "Custom HTML (Before Login Form)" under Userview Builder - Settings  
login_form_footerlogin.ftl java.lang.String  HTML template retrieved from DirectoryUtil.getLoginFormFooter(). Used by User Security Implementation.
login_linkheader.ftl java.lang.String  URL to the login form
logout_linkheader.ftl java.lang.String  URL to log out from userview
main_container_idcontentContainer.ftl  java.lang.StringmainCSS classes for the main container 
menuscontentContainer.ftl   Value from theme getMenus method
menu_classesmenus.ftl  java.lang.StringmenuCSS classes for the menu 
menus_container_classesmenus.ftl  java.lang.Stringmenu-containerCSS classes for the container which contains menus 
metashead.ftl java.lang.String Value from theme getMetas method
nav_idmenus.ftl  java.lang.StringnavigationId of the navigator container 
nav_classesmenus.ftl  java.lang.Stringnav-collapse sidebar-navCSS classes of the navigator container 
params-   java.util.Map<java.lang.String, java.lang.Object> Received Request Parameters
titlehead.ftljava.lang.String Userview name and the current menu labeltitlehead.ftl   
right_to_left- boolean  Flag to decide whether or not userview need to display from right to left
sidebar_idcontentContainer.ftl  java.lang.StringsidebarId of the sidebar container 
user- org.joget.directory.model.User  Current logged in User object
username- java.lang.String  Current logged in username
userview

header.ftl, footer.ftl,

menus.ftl, login.ftl

 org.joget.apps.userview.model.Userview  Userview object which using this theme

Templates

/templates/userview/pageNotFound.ftl

...

How to use and override V5 template

Reuse the predefined template

  • To reuse the predefined template, just override the theme method and set your custom HTML to the available variable of the template

...

  • .
  • Example: To reuse the header.ftl template in getHeader method.
Code Block
languagejava
@Override
    public String getHeader(Map<String, Object> data) {
        data.put("header_classes", "navbar");
        data.put("header_inner_before", "<div class=\"navbar-inner\"><div class=\"container-fluid\">");
        data.put("header_inner_after", "</div></div>");
        data.put("header_info_after", "<a id=\"mobile_menu\" class=\"btn btn-navbar\"><span class=\"icon-bar\"></span><span class=\"icon-bar\"></span><span class=\"icon-bar\"></span></a>");
        data.put("header_link_classes", "brand");
        data.put("header_info_classes", "inline-block");
        data.put("header_name_classes", "inline-block");
        data.put("header_description_classes", "inline-block visible-desktop");
        data.put("header_description_span_classes", "brand");
        return super.getHeader(data);
    }

Override or replace the predefined template

  • To override or replace the predefined template, you just need to create your own template using FreeMaker syntax.
  • Example: Using a custom template file in getHeader method.
Code Block
languagejava
@Override
public String getHeader(Map<String, Object> data) {
        return UserviewUtil.getTemplate(this, data, "/templates/userview/customHeader.ftl");
    }

...

Plugin Properties Options

...