Delade innehållssektioner

Ofta har webblösningar en eller flera delar av layouten som ska vara redigerbara, men där samma information ändå ska visas på flera eller alla sidor. Det kan exempelvis gälla sidfot, sidhuvud, annonser, eller allmänt innehåll som hör till alla sidor i en viss avdelning.

Genom att sätta egenskapen FixedNavigationItemSource på Section-kontrollen kan utvecklaren instruera Dynamix att hämta innehållet från en specifik sida. Redaktörer kan bara redigera sådana innehåll om sidan som redigeras är samma som den som innehållet hämtas från.

Exempel:

  1. C#
  1. [Serializable]
  2. public class MyTemplate : ContentTemplate
  3. {
  4. ...
  5. public MyTemplate() : base()
  6. {
  7. Components.Add( new FlowLayoutTemplateComponent( "GlobalLeft" ) );
  8. }
  9. }

Mallen definierar en sektion med namnet GlobalLeft som ska ritas ut likadant till vänster på alla sidor som bygger på denna mall (eller andra med samma sektion definierad)

I code-behind-klassen för den aspx som presenterar mallen läggs följande kod in:

  1. C#
  1. public class MyPage : Dynamix.UI.ContentPage
  2. {
  3. private void Page_Load(object sender, System.EventArgs e)
  4. {
  5. uiGlobalLeft.FixedNavigationItemSource = Dynamix.Util.CurrentSite.GetStartItem();
  6. }
  7. }

Innehållet för sektionen kommer att hämtas från sajtens startsida och kan därmed endast redigeras där.

Det går givetvis bra att använda en källsida som inte är global för hela sajten, exempelvis:

  1. C#
  1. public class MyPage : Dynamix.UI.ContentPage
  2. {
  3. private void Page_Load(object sender, System.EventArgs e)
  4. {
  5. uiGlobalLeft.FixedNavigationItemSource = DynamixNavigationItem.GetItemOnPath(0);
  6. }
  7. }

för att säga att att vänstersektionen ska vara samma för alla sidor under varje toppstruktur.

 

Läs mer

Mallar

Innehållstyper