我们是否可以选择以编程方式禁用umrbaco中提供的保存和发布按钮。
答案 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的完整源代码是一个开源项目,所以是的,你可以禁用保存和发布(并做任何你想做的事情)。