protected override void OnInit(EventArgs e) { base.OnInit(e); var settings = ModuleContext.OpenContentSettings(); RenderInfo renderinfo = new RenderInfo(); renderinfo.Template = settings.Template; if (settings.TabId > 0 && settings.ModuleId > 0) // other module { ModuleController mc = new ModuleController(); renderinfo.SetDataSourceModule(settings.TabId, settings.ModuleId, mc.GetModule(renderinfo.ModuleId, renderinfo.TabId, false), null, ""); } else // this module { renderinfo.SetDataSourceModule(settings.TabId, ModuleContext.ModuleId, ModuleContext.Configuration, null, ""); } OpenContent.TemplateInit ti = (TemplateInit)TemplateInitControl; ti.ModuleContext = ModuleContext; ti.Settings = settings; ti.Renderinfo = renderinfo; ti.RenderOnlySaveButton = true; }
} // Only for Dnn Razor helpers public void Render(Page page) { _renderinfo.Template = _settings.Template; if (_settings.TabId > 0 && _settings.ModuleId > 0) // other module { ModuleController mc = new ModuleController(); _renderinfo.SetDataSourceModule(_settings.TabId, _settings.ModuleId, mc.GetModule(_renderinfo.ModuleId, _renderinfo.TabId, false), null, ""); } else // this module { _renderinfo.SetDataSourceModule(_settings.TabId, _module.ModuleID, _module, null, ""); } //start rendering if (_settings.Template != null) { if (!_settings.Template.DataNeeded()) { _renderinfo.SetData(null, new JObject(), _settings.Data); _renderinfo.OutputString = GenerateOutput(page, _renderinfo.Template.MainTemplateUri(), _renderinfo.DataJson, _renderinfo.SettingsJson, _renderinfo.Template.Main); } else if (_renderinfo.Template.IsListTemplate) { LogContext.Log(_module.ModuleID, "RequestContext", "QueryParam Id", ItemId); // Multi items template if (string.IsNullOrEmpty(ItemId)) { // List template if (_renderinfo.Template.Main != null) { // for list templates a main template need to be defined _renderinfo.Files = _renderinfo.Template.Main; string templateKey = GetDataList(_renderinfo, _settings, _renderinfo.Template.ClientSideData); if (!string.IsNullOrEmpty(templateKey) && _renderinfo.Template.Views != null && _renderinfo.Template.Views.ContainsKey(templateKey)) { _renderinfo.Files = _renderinfo.Template.Views[templateKey]; } if (!_renderinfo.SettingsMissing) { _renderinfo.OutputString = GenerateListOutput(page, _settings.Template, _renderinfo.Files, _renderinfo.DataList, _renderinfo.SettingsJson); } } } else { // detail template if (_renderinfo.Template.Detail != null) { GetDetailData(_renderinfo, _settings); } if (_renderinfo.Template.Detail != null && !_renderinfo.ShowInitControl) { _renderinfo.Files = _renderinfo.Template.Detail; _renderinfo.OutputString = GenerateOutput(page, _settings.Template, _renderinfo.Template.Detail, _renderinfo.DataJson, _renderinfo.SettingsJson); } else // if itemid not corresponding to this module, show list template { // List template if (_renderinfo.Template.Main != null) { // for list templates a main template need to be defined _renderinfo.Files = _renderinfo.Template.Main; string templateKey = GetDataList(_renderinfo, _settings, _renderinfo.Template.ClientSideData); if (!string.IsNullOrEmpty(templateKey) && _renderinfo.Template.Views != null && _renderinfo.Template.Views.ContainsKey(templateKey)) { _renderinfo.Files = _renderinfo.Template.Views[templateKey]; } if (!_renderinfo.ShowInitControl) { _renderinfo.OutputString = GenerateListOutput(page, _settings.Template, _renderinfo.Files, _renderinfo.DataList, _renderinfo.SettingsJson); } } } } } else { // single item template GetSingleData(_renderinfo, _settings); bool settingsNeeded = _renderinfo.Template.SettingsNeeded(); if (!_renderinfo.ShowInitControl && (!settingsNeeded || !string.IsNullOrEmpty(_renderinfo.SettingsJson))) { _renderinfo.OutputString = GenerateOutput(page, _renderinfo.Template.MainTemplateUri(), _renderinfo.DataJson, _renderinfo.SettingsJson, _renderinfo.Template.Main); } } } }