AEM 6.4 Model @Exporter for pages | Adobe Higher Education
Skip to main content
Level 2
September 19, 2022
Beantwortet

AEM 6.4 Model @Exporter for pages

  • September 19, 2022
  • 1 Antwort
  • 1174 Ansichten
Hello everyone,
im trying to export my model with @3484101.Somehow is not working and i guess it cold be because resourcetype.My model is for "pageanalytics" so the resourcetype should be something like:myapps/components/structure/pagebecause my model is called in head.html which is in page.If i remove the resorucetype the model is working but its not exported.if i put that path, its a null point and mypage.model.json is blank and not loadedWhat im doin wrong?
@Model(
        adaptables = SlingHttpServletRequest.class,
        adapters = ComponentExporter.class,
        defaultInjectionStrategy = DefaultInjectionStrategy.OPTIONAL,
        resourceType = "myapp/components/structure/page")
@Exporter(
        name = ExporterConstants.SLING_MODEL_EXPORTER_NAME,
        extensions = ExporterConstants.SLING_MODEL_EXTENSION)
Dieses Thema wurde für Antworten geschlossen.
Beste Antwort von arunpatidar

Hi,

You need to do like

 

@Model(adaptables = SlingHttpServletRequest.class, adapters = {MyModel.class, ContainerExporter.class}, resourceType ="myapp/components/structure/page") 
@Exporter(name = ExporterConstants.SLING_MODEL_EXPORTER_NAME, extensions = ExporterConstants.SLING_MODEL_EXTENSION)

1 Antwort

arunpatidar
Community Advisor
Community Advisor
September 19, 2022

Can you try something like

 

@Model(adaptables = SlingHttpServletRequest.class, adapters = {Page.class, ContainerExporter.class}, resourceType = PageImpl.RESOURCE_TYPE)
@Exporter(name = ExporterConstants.SLING_MODEL_EXPORTER_NAME, extensions = ExporterConstants.SLING_MODEL_EXTENSION)

https://github.com/adobe/aem-core-wcm-components/blob/e49999b3733ceb487fd40774ac4a15f921713336/bundles/core/src/main/java/com/adobe/cq/wcm/core/components/internal/models/v3/PageImpl.java#L35 

Arun Patidar
Level 2
September 19, 2022

Hello, thank you for your answer.

Somehow i cannot do 

resourceType = PageImpl.RESOURCE_TYPE

Because my IDE doesnt recognize it.

public class MyModel extends ModelJsonExporter implements ComponentExporter{

 Could be because my model definition?

arunpatidar
Community Advisor
Community Advisor
September 19, 2022

Hi,

You need to do like

 

@Model(adaptables = SlingHttpServletRequest.class, adapters = {MyModel.class, ContainerExporter.class}, resourceType ="myapp/components/structure/page") 
@Exporter(name = ExporterConstants.SLING_MODEL_EXPORTER_NAME, extensions = ExporterConstants.SLING_MODEL_EXTENSION)
Arun Patidar