禁用Umbraco中的“保存并发布”按钮

时间:2011-12-07 07:02:29

标签: umbraco

我们是否可以选择以编程方式禁用umrbaco中提供的保存和发布按钮。

3 个答案:

答案 0 :(得分:2)

如果您不想修改音源,请点击此处。使用ApplicationBase禁用它的脏方法来注入一些jQuery:

public class RemoveToolbarButtons : ApplicationBase
{
    public RemoveToolbarButtons()
    {
        umbracoPage.Load += new umbraco.presentation.masterpages.MasterPageLoadHandler(umbracoPage_Load);
    }

    void umbracoPage_Load(object sender, EventArgs e)
    {
        var page = (umbracoPage)sender;

        if (page.Page.Request.Path.ToLower().Replace((GlobalSettings.Path + "/").ToLower(), "").Contains("editcontent.aspx"))
        {
            var currentDocId = Convert.ToInt32(HttpContext.Current.Request.QueryString["id"]);
            Document d = new Document(currentDocId);
            if (d.ContentType.Alias == "YourDocTypeAlias")
            {
                string s = @"<script type='text/javascript'>
                $(document).ready(function() {
                    $('.editorIcon').each(function() { if(String($(this).attr('alt')) == 'Save and publish') {$(this).hide(); return false;} });
                });
                </script>";
                page.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "jshidetoolbar", s);
            }

        }

    }
}

将YourDocTypeAlias更改为要禁用它的doctypealias。请注意,这只是使用jQuery隐藏按钮,用户可能仍然可以通过上下文菜单或其他方法访问Publish。

答案 1 :(得分:1)

对Tom的方法进行微调 - 调整jQuery不返回false(否则当你有多个标签时它只隐藏第一个'保存并发布'按钮)

string s = @"<script type='text/javascript'>
                $(document).ready(function() {
                    $('.editorIcon').each(function() { if(String($(this).attr('alt')) == 'Save and publish') {$(this).hide(); } });
                });
                </script>";

答案 2 :(得分:0)

Umbraco的完整源代码是一个开源项目,所以是的,你可以禁用保存和发布(并做任何你想做的事情)。

Link