Hi,
Okay as I see now a bit more clearly the issue let me summarize it.
So I have an Angular2 app which gets it's views from the CMS generated by the HST using freemarker templates.
Angular app(skins.ts):
/// <reference path="../../custom_typings/_custom.d.ts" />
import { Component, View } from 'angular2/annotations';
import { routerDirectives, RouteConfig } from 'angular2/router';
import { Home } from '../home/home';
import { Prices } from '../prices/prices';
@Component({
selector: 'skins',
properties: ['templateurl: string']
})
@View({
directives: [routerDirectives],
templateUrl: "/components/app/skins.html"
})
@RouteConfig([
{ path: '/', component: Home, as: 'home' },
{ path: '/arak', component: Prices, as: 'prices'}
])
// Component controller
export class Skins {
}
base-layout.ftl(copying only the body section):
<body class="header-fixed header-fixed-space">
<div class="wrapper">
<skins>
</skins>
</div>
<#if hstRequest.requestContext.cmsRequest>
<#assign app>
<@hst.webfile path="/js/dist/bootstrap_cms.js"/>
</#assign>
<script>
System.import('${app?keep_after("/site/")?keep_before(".js")}');
</script>
<#else>
<#assign app>
<@hst.webfile path="/js/dist/bootstrap.js"/>
</#assign>
<script>
System.import('${app?keep_after("/")?keep_before(".js")}');
</script>
</#if>
</body>
I hope this is enough for now.
My symptoms:
1. The site in the browser looks as expected.
2. Opening the channel in the chanel manager looks the same.
3. Pressing on the Edit button to edit the channel reloads the page with expected look but does not renders the edit menu button.
I think the issue is that there is no <@hst.include> for the relevant part inside the base-layout.ftl. Of course there is no include. Angular renders it. And I think because of this the HST does not knows that the request made by through the CMS.
Am I right with my assumption?