Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何启用";“快速插入”;如果页面模块有";“内部内容块”;用于2sxc dnn模块 我创建带有内部内容的页脚模块 但是由于这个模块是页脚模块,并且显示在所有页面上,所以我对页面模块的自动“快速插入”隐藏有问题_2sxc - Fatal编程技术网

如何启用";“快速插入”;如果页面模块有";“内部内容块”;用于2sxc dnn模块 我创建带有内部内容的页脚模块 但是由于这个模块是页脚模块,并且显示在所有页面上,所以我对页面模块的自动“快速插入”隐藏有问题

如何启用";“快速插入”;如果页面模块有";“内部内容块”;用于2sxc dnn模块 我创建带有内部内容的页脚模块 但是由于这个模块是页脚模块,并且显示在所有页面上,所以我对页面模块的自动“快速插入”隐藏有问题,2sxc,2sxc,是否可以进行配置,或者有一些变通方法可以在同一页面上使用“快速插入”和“内部内容块” 或者可以为我的模块禁用“内部内容块”并以另一种方式添加“子模块”吗 2sxc V8.04.08/dnn V8.00.03作为解决方法,我通过以下方式解决此问题: 一,。 创建应用程序。设置布尔值(HideInnerContentAdd) 二,。 为切换此值创建web api using DotNetNuke.Security; using DotNetNuke.Web.Api; using System.Web

是否可以进行配置,或者有一些变通方法可以在同一页面上使用“快速插入”和“内部内容块”

或者可以为我的模块禁用“内部内容块”并以另一种方式添加“子模块”吗


2sxc V8.04.08/dnn V8.00.03作为解决方法,我通过以下方式解决此问题:

一,。 创建应用程序。设置布尔值(HideInnerContentAdd)

二,。 为切换此值创建web api

using DotNetNuke.Security;
using DotNetNuke.Web.Api;
using System.Web.Http;
using ToSic.SexyContent.WebApi;
using System;
using System.Linq;
using System.Collections.Generic;
using ToSic.SexyContent;
using System.Dynamic;

public class nnFootBoxController : SxcApiController
{
    // ########################################################################################
    [HttpGet]
    [DnnModuleAuthorize(AccessLevel = SecurityAccessLevel.Edit)]
    [ValidateAntiForgeryToken]
    public dynamic ToogleInnerContentMenu()
    {
        var tObj = AsDynamic(App.Settings);
        if (tObj==null) return false;

        var state = false;
        if (tObj.HideInnerContentAdd!=null) state = (bool)(tObj.HideInnerContentAdd);
        state = !state;

        var newValues = new Dictionary<string, object>();
        newValues.Add("HideInnerContentAdd", state);
        App.Data.Update(tObj.EntityId, newValues);

        return state;
    }
    // ########################################################################################
}
使用DotNetNuke.Security;
使用DotNetNuke.Web.Api;
使用System.Web.Http;
使用ToSic.SexyContent.WebApi;
使用制度;
使用System.Linq;
使用System.Collections.Generic;
使用ToSic.SexyContent;
运用系统动力学;
公共类控制器:SXCapicController
{
// ########################################################################################
[HttpGet]
[DNNModuleAuthorization(AccessLevel=SecurityAccessLevel.Edit)]
[ValidateAntiForgeryToken]
公共动态ToogleInnerContentMenu()
{
var tObj=动态(应用程序设置);
if(tObj==null)返回false;
var状态=假;
if(tObj.HideInnerContentAdd!=null)state=(bool)(tObj.HideInnerContentAdd);
状态=!状态;
var newValues=newdictionary();
添加(“HideInnerContentAdd”,状态);
App.Data.Update(tObj.EntityId,newValues);
返回状态;
}
// ########################################################################################
}
三,。 将代码添加到要在所有页面上显示以更改状态的模块的页脚

@if(Permissions.UserMayEditContent){
    <link rel="stylesheet" type="text/css" href="https://gitcdn.github.io/bootstrap-toggle/2.2.2/css/bootstrap-toggle.min.css" data-enableoptimizations="true" />
    <script type="text/javascript" src="https://gitcdn.github.io/bootstrap-toggle/2.2.2/js/bootstrap-toggle.min.js" data-enableoptimizations="true"></script>
    <script type="text/javascript" src="/DesktopModules/ToSIC_SexyContent/Js/2sxc.api.min.js" data-enableoptimizations="true"></script>
    <script type="text/javascript" src="@App.Path/js/toggle-innercontentshow.js" data-enableoptimizations="true"></script>
    <div>
        <input class="nn-toggle-innercontentshow" type="checkbox" @innerContentMenuChecked() data-toggle="toggle" data-on="On" data-off="Off" onchange="nnFooterBox_cbToggle(this,@Dnn.Module.ModuleID)">
    </div>
}

@functions{
    public dynamic lib { get { return CreateInstance("../_Shared.cshtml"); } }

    public string innerContentMenuChecked(){
        return isInnerContentMenuVisible() ? "checked" : "";
    }

    public string innerContentMenuClass(){
        return isInnerContentMenuVisible() ? "sc-content-block-list" : "";
    }

    public bool isInnerContentMenuVisible(){
        var tState = ((DynamicEntity)(App.Settings)).HideInnerContentAdd;
        if (tState=="True") return false;
        return true;
    }
}
@if(Permissions.UserMayEditContent){
}
@功能{
公共动态库{get{return CreateInstance(“../\u Shared.cshtml”);}
公共字符串innerContentMenuChecked(){
返回isInnerContentMenuVisible()?“选中”:“”;
}
公共字符串innerContentMenuClass(){
返回isInnerContentMenuVisible()?“sc内容阻止列表”:“”;
}
公共文件isInnerContentMenuVisible(){
var tState=((动态)(应用程序设置)).HideInnerContentAdd;
if(tState==“True”)返回false;
返回true;
}
}
四,。 更改渲染内部内容的代码

<!-- start modules -->
<div class="@innerContentMenuClass()" @Edit.ContextAttributes(Content, field: "Modules")>
    @foreach(var cb in Content.Modules) {
        @cb.Render();
    }
</div>
<!-- end modules -->

@foreach(Content.Modules中的var cb){
@cb.Render();
}
使用@innerContentMenuClass()启用或禁用内部内容块的快速添加

五,。 我知道这不是很好的代码,但对我来说很有用。。。
如果有人有更好的代码,请帮我回去…

作为解决方法,我会这样解决:

一,。 创建应用程序。设置布尔值(HideInnerContentAdd)

二,。 为切换此值创建web api

using DotNetNuke.Security;
using DotNetNuke.Web.Api;
using System.Web.Http;
using ToSic.SexyContent.WebApi;
using System;
using System.Linq;
using System.Collections.Generic;
using ToSic.SexyContent;
using System.Dynamic;

public class nnFootBoxController : SxcApiController
{
    // ########################################################################################
    [HttpGet]
    [DnnModuleAuthorize(AccessLevel = SecurityAccessLevel.Edit)]
    [ValidateAntiForgeryToken]
    public dynamic ToogleInnerContentMenu()
    {
        var tObj = AsDynamic(App.Settings);
        if (tObj==null) return false;

        var state = false;
        if (tObj.HideInnerContentAdd!=null) state = (bool)(tObj.HideInnerContentAdd);
        state = !state;

        var newValues = new Dictionary<string, object>();
        newValues.Add("HideInnerContentAdd", state);
        App.Data.Update(tObj.EntityId, newValues);

        return state;
    }
    // ########################################################################################
}
使用DotNetNuke.Security;
使用DotNetNuke.Web.Api;
使用System.Web.Http;
使用ToSic.SexyContent.WebApi;
使用制度;
使用System.Linq;
使用System.Collections.Generic;
使用ToSic.SexyContent;
运用系统动力学;
公共类控制器:SXCapicController
{
// ########################################################################################
[HttpGet]
[DNNModuleAuthorization(AccessLevel=SecurityAccessLevel.Edit)]
[ValidateAntiForgeryToken]
公共动态ToogleInnerContentMenu()
{
var tObj=动态(应用程序设置);
if(tObj==null)返回false;
var状态=假;
if(tObj.HideInnerContentAdd!=null)state=(bool)(tObj.HideInnerContentAdd);
状态=!状态;
var newValues=newdictionary();
添加(“HideInnerContentAdd”,状态);
App.Data.Update(tObj.EntityId,newValues);
返回状态;
}
// ########################################################################################
}
三,。 将代码添加到要在所有页面上显示以更改状态的模块的页脚

@if(Permissions.UserMayEditContent){
    <link rel="stylesheet" type="text/css" href="https://gitcdn.github.io/bootstrap-toggle/2.2.2/css/bootstrap-toggle.min.css" data-enableoptimizations="true" />
    <script type="text/javascript" src="https://gitcdn.github.io/bootstrap-toggle/2.2.2/js/bootstrap-toggle.min.js" data-enableoptimizations="true"></script>
    <script type="text/javascript" src="/DesktopModules/ToSIC_SexyContent/Js/2sxc.api.min.js" data-enableoptimizations="true"></script>
    <script type="text/javascript" src="@App.Path/js/toggle-innercontentshow.js" data-enableoptimizations="true"></script>
    <div>
        <input class="nn-toggle-innercontentshow" type="checkbox" @innerContentMenuChecked() data-toggle="toggle" data-on="On" data-off="Off" onchange="nnFooterBox_cbToggle(this,@Dnn.Module.ModuleID)">
    </div>
}

@functions{
    public dynamic lib { get { return CreateInstance("../_Shared.cshtml"); } }

    public string innerContentMenuChecked(){
        return isInnerContentMenuVisible() ? "checked" : "";
    }

    public string innerContentMenuClass(){
        return isInnerContentMenuVisible() ? "sc-content-block-list" : "";
    }

    public bool isInnerContentMenuVisible(){
        var tState = ((DynamicEntity)(App.Settings)).HideInnerContentAdd;
        if (tState=="True") return false;
        return true;
    }
}
@if(Permissions.UserMayEditContent){
}
@功能{
公共动态库{get{return CreateInstance(“../\u Shared.cshtml”);}
公共字符串innerContentMenuChecked(){
返回isInnerContentMenuVisible()?“选中”:“”;
}
公共字符串innerContentMenuClass(){
返回isInnerContentMenuVisible()?“sc内容阻止列表”:“”;
}
公共文件isInnerContentMenuVisible(){
var tState=((动态)(应用程序设置)).HideInnerContentAdd;
if(tState==“True”)返回false;
返回true;
}
}
四,。 更改渲染内部内容的代码

<!-- start modules -->
<div class="@innerContentMenuClass()" @Edit.ContextAttributes(Content, field: "Modules")>
    @foreach(var cb in Content.Modules) {
        @cb.Render();
    }
</div>
<!-- end modules -->

@foreach(Content.Modules中的var cb){
@cb.Render();
}
使用@innerContentMenuClass()启用或禁用内部内容块的快速添加

五,。 我知道这不是很好的代码,但对我来说很有用。。。 如果有人有更好的代码请帮我回来