4

We have a language specific website, so one Publication for English and another for Arabic.

We use the sitemap class to populate our site navigation. We have localized our Components. So the sub menus get these display names from the Component metadata but how can I change the main menu which is picked up from structure?

I tried changing the name on the localized Structure Group and published navigation but nothing happened. Where do we have to change this? In the below image, Layout, Content Types, Lists are Structure Groups which are not linked to a page. So I am not sure where the name 'Layout' is coming from. If I have an index page, I don't want it to be seen in the navigation.

enter image description here

Type of Navigation: Localizable; Navigation Text Field Paths : standardMeta/name, pageTitle, headline I get this exception:

Caused by: com.sdl.webapp.common.api.content.ContentProviderException: Exception while getting page model for: [9] /en/navigation.json
    at com.sdl.webapp.dd4t.DD4TContentProvider$1.tryFindPage(DD4TContentProvider.java:79) ~[dd4t-provider-1.0-SNAPSHOT.jar:1.0-SNAPSHOT]
    at com.sdl.webapp.dd4t.DD4TContentProvider$1.tryFindPage(DD4TContentProvider.java:69) ~[dd4t-provider-1.0-SNAPSHOT.jar:1.0-SNAPSHOT]
    at com.sdl.webapp.dd4t.DD4TContentProvider.findPage(DD4TContentProvider.java:135) ~[dd4t-provider-1.0-SNAPSHOT.jar:1.0-SNAPSHOT]
    at com.sdl.webapp.dd4t.DD4TContentProvider.getPageModel(DD4TContentProvider.java:69) ~[dd4t-provider-1.0-SNAPSHOT.jar:1.0-SNAPSHOT]
    at com.sdl.webapp.addon.controller.GenericMainController.getPageModel(GenericMainController.java:365) ~[classes/:na]
    ... 41 common frames omitted
Caused by: org.dd4t.core.exceptions.SerializationException: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "Url" (class org.dd4t.contentmodel.impl.PageImpl), not marked as ignorable (20 known properties: "Schema", "lastPublishedDate", "RevisionDate", "PageTemplate", "Publication", "Folder", "OwningPublication", "fileExtension", "CustomProperties", "LastPublishedDate", "Filename", "MetadataFields" [truncated]])
 at [Source: {"Title":"Home","Url":"/en/","Id":"tcm:9-9-4","Type":"StructureGroup","Items":[{"Title":"Layouts","Url":"/en/scoreboard","Id":"tcm:9-164-4","Type":"StructureGroup","Items":[{"Title":"Test Index","Url":"/en/layout/index","Id":"tcm:9-23541-64","Type":"Page","Items":[],"PublishedDate":"2015-12-29T16:17:16Z","Visible":true},{"Title":"Section Page","Url":"/en/layout/section-page","Id":"tcm:9-688-64","Type":"Page","Items":[],"PublishedDate":"2015-12-28T10:24:40Z","Visible":true},{"Title":"Content Page","Url":"/en/layout/content-page","Id":"tcm:9-689-64","Type":"Page","Items":[],"PublishedDate":"2015-12-29T16:15:15Z","Visible":true},{"Title":"Content

@Bart: How can I get the localized title in the breadcrumb? Right now, navigation links display the title of the Structure Group which we have not localized. The SG contains an index page which has localized components. When I print the navigation.json, I can see the index page with localized title value but the SG title is still in english. Could this be the problem? Should we localize the SG too.

4
  • what is the navigation configuration (check the metadata) and what does the navigation.json say? Can you relate that back to a value of a Structure Group or Component? Commented Dec 29, 2015 at 10:42
  • can you tell me how i can generate the navigation.json
    – Rache
    Commented Dec 29, 2015 at 13:29
  • it is generated when you publish the _Navigation Page, and you can see it by simply requesting its URL on your website. Commented Dec 29, 2015 at 15:08
  • Bart, if you look at the sitemap at the footer of the sample website, where is the first main title coming from for each top level. For me even if I have an index page, it prints the title of the SG
    – Rache
    Commented Dec 29, 2015 at 21:09

1 Answer 1

2

If you are talking about the HOME item in the top navigation, that is taken from the first Component on the Page which has standard metadata. For example this website, in Spanish uses the word INICIO (the English site has HOME):

website

This text comes from the standard metadata from the Article on this Page:

Component

You need to publish the Page with the translated Component first and then the _Navigation Page, after which you may need to refresh the web apploication so it will drop its cache.

4
  • My navigation structure is a little different. It follows the basic sitemap structure similar to the one in the footer of the sample website. So I have Layout -- main nav and under it submenus, Then Content type -- main nav and under it submenus. The main nav does not have a page of its own. So how can I handle this case.
    – Rache
    Commented Dec 29, 2015 at 5:11
  • The sub menus are Pages published from the respective Structure Groups. If I add a 000 Index page to the Structure Group and publish it, even this page appears as one of the sub menus. There isn't way to remove this from the navigation other than skipping the first Page under the submenu.
    – Rache
    Commented Dec 29, 2015 at 6:36
  • @Rache I think you can best edit your question to provide more info, since these comment do not clarify it for me. Perhaps you can add some pictures etc. and explain what you changed? Also it may be smart to look at what is actually published as navigation.json, and provide a sample of that in your question. Commented Dec 29, 2015 at 7:13
  • I wonder if this is documented somewhere. I'm not seeing it in the docs.sdl.com. And what about the other top nav items? HABITACIONES, UBICACION, etc.? And what if my page has no components on it... Commented Oct 23, 2017 at 22:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.