Page tree

Versions Compared

Key

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

...

Template defines headerNav container

Code Block
languagexml
   <nav class="top-menu">
        <div class="container no-padding">
            <div class="col-xs-12 col-sm-12 col-md-8 col-lg-8 no-margin">
                <wicket:container wicket:id="headerNav">
                    [header nav]
                </wicket:container>
            </div>

StandardHeader component populates this value with content body of header_nav_include.

Code Block
languagejava
      String content = contentServiceFacade.getContentBody(
               "header_nav_include", getCurrentShopId(), getLocale().getLanguage());

       return new Label("headerNav", content).setEscapeModelStrings(false);

...

Define container element in Wicket HTML template, e.g. myCmsContainer

Code Block
languagexml
<wicket:container wicket:id="myCmsContainer">[my cms container]</wicket:container>

Add container element as Label containing body of the CMS content object, retrieved by content service using URI, e.g. "my_cms_include"

Code Block
languagejava
String content = contentServiceFacade.getContentBody(
    "my_cms_include", getCurrentShopId(), getLocale().getLanguage());

addOrReplace(new Label("myCmsContainer", content).setEscapeModelStrings(false));

If we want dynamic content to be included the java code should be updated to use dynamic body and supply all parameters to be used in this dynamic content.

Code Block
languagejava
final Map<String, Object> contentParams = new HashMap<>();
...
// populate contentParams map
...
String content = contentServiceFacade.getDynamicContentBody(
    "my_cms_include", getCurrentShopId(), getLocale().getLanguage(), contentParams);

addOrReplace(new Label("myCmsContainer", content).setEscapeModelStrings(false));

...

Configure CMS object with URI 

Textbox
Body[shop code]_my_cms_include
.

Configuring include on

...

SFG 
Label
Body

...

SaaS
Colourinfo

 

...

Say we want to create CMS include with "my_cms_include" that will be included in our custom component.

...