Search code examples
tridiontridion-2011

How to create button in context menu on component/page right click


How to create button in context menu on component/page right click.

I tried to configure my extension.config file by refering as mentioned in "http://www.julianwraith.com/2010/10/helloworld-extension-for-tridion-2011/" but i was unable to see any button available.

Could anyone suggest me.


Solution

  • Check your configuration file (F:\Program Files (x86)\Tridion\customizations\HelloWorld\config\HelloWorld.config) for unclosed tags or some typo.

    To create button in context menu:

    1. Check that your HelloWorld.config extends contextmenu node

      <ext:contextmenus>
          <ext:add>
              <ext:extension name="Hello World" assignid="" insertbefore="cm_preview">
                  <ext:menudeclaration>
                      <cmenu:ContextMenuItem id="HelloWorld" name="Hello World" command="HelloWorld"/>
                  </ext:menudeclaration>
                  <ext:dependencies>
                      <cfg:dependency>RandomStringThatNeedsToBeCompiled2</cfg:dependency>
                  </ext:dependencies>
                  <ext:apply>
                      <ext:view name="DashboardView"/>
                  </ext:apply>
              </ext:extension>
          </ext:add>
      </ext:contextmenus>
      
    2. Modify your helloworld.js to enable button only for Components

      Common.Tridion.MVP.HelloWorld.prototype.isAvailable = function HelloWorld$isAvailable(selection)
      {
          var itemID = selection.getItem(0);
          if ($models.getItemType(itemID) != $const.ItemType.COMPONENT) {
              return false;
          }
      };
      

    Don't forget to clear your cache