private void AddContent(RenderingsPlaceHolder placementPlaceHolder, PageContent content, bool isFromLayout) { var activatedWidget = _contentActivator.ActivateCmsPageContent(content); activatedWidget.IsFromLayout = isFromLayout; var internalLayout = (activatedWidget as IHasInternalLayout)?.GetInternalLayout() ?? InternalLayout.Empty; foreach (var placeholderId in internalLayout.PlaceHolderIds) { activatedWidget.PlaceHolders.Add(placeholderId, new RenderingsPlaceHolder(placeholderId)); } var mergedContent = new List <PageContent>(); var placedByUser = content.AllContent; var placedByDefault = internalLayout.DefaultContent; mergedContent.AddRange(placedByDefault); mergedContent.AddRange(placedByUser); if (mergedContent.Any()) { AddContent(activatedWidget, mergedContent, isFromLayout); } placementPlaceHolder.Renderings.Add(activatedWidget); }
private void WriteSubstitution(PageCompositionElement pp, RenderAttributes renderAttributes, RenderingsPlaceHolder relevantPlaceHolder, ComposedHtmlWriter local) { //var renderDesignElements = !pp.IsFromLayout && renderAttributes.Mode == FragmentRenderMode.PageDesigner; //if (renderDesignElements) //{ // var dropTargetBegin = _pageDesignerHtmlFactory.CreateDropTargetBeginMarker(pp, relevantPlaceHolder); // local.Append(dropTargetBegin); //} //foreach (var item in relevantPlaceHolder.Renderings) // Render(item, renderAttributes, local); //if (renderDesignElements) //{ // var dropTargetEnd = _pageDesignerHtmlFactory.CreateDropTargetEndMarker(); // local.Append(dropTargetEnd); //} }
public SubsitutionHtmlWriterDirective(RenderingsPlaceHolder ph) { _ph = ph; _placeholderId = ph.Id; }
public void AddLayoutContent(PageContent contentToActivate, RenderingsPlaceHolder page) { AddContent(page, contentToActivate, true); }