2011-12-07 16 views

答えて

2

あなたがソースを変更したくない場合は、ここでいくつかのjQueryを注入するためにApplicationBaseを使用して、それを無効にするダウン&汚いやり方だ:

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にアクセスすることができます。

0

Umbracoのフルソースコードはオープンソースプロジェクトとして提供されていますので、保存を無効にして公開することができます。

Link

1

トムのアプローチにマイナーな微調整 -

string s = @"<script type='text/javascript'> 
       $(document).ready(function() { 
        $('.editorIcon').each(function() { if(String($(this).attr('alt')) == 'Save and publish') {$(this).hide(); } }); 
       }); 
       </script>"; 
(それ以外の場合のみ、最初は「保存して公開する」あなたが複数のタブを持つボタンが非表示になります)falseを返していないためにjQueryのを調整
関連する問題