2
votes

How to pick a certain ribbon to show?

I have a Silverlight webresource inserted across the whole page and I want to show a ribbon of certain entity for it.

I suppose it's possible to do it by calling some javascript from XRM library? But I didn't find anything till now.

Thank you

1

1 Answers

2
votes

You might be thinking about this backwards. You don't use JavaScript to pick ribbon to show. You set up ribbon anywhere it could show (using RibbonDiffXml) and then EnableRules and DisplayRules to control where it shows. Enable Rules allow you to specify web resources and use JavaScript to control whether the button is enabled. Unfortunately, CRM won't allow you to use JavaScript to control whether it displays (fingers crossed for future availability).

There are lots of examples out there. Here is one and two I just googled up. Be sure to reference the SDK for all the rules. Finally, if you want to short-cut learning some of the schema, you can use the Visual Ribbon Editor tool.

Note that you can either specify your ribbon customizations to a particular entity (in its RibbonDiffXml subnode) or in the global scope (exporting Ribbon Client Extensions) and use the {!EntityLogicalname} in the Id fields so CRM will generate a unique ID for the node, per entity, when it 'expands' the definition.