15

Sitecore Experience Accelerator uses a different approach for that. You can define your access rights for each rendering/group of renderings by changing the access rights to Available Renderings items. To do it follow these steps Navigate to Available Renderings node (/sitecore/content/Tenant/Site/Presentation/Available Renderings) Pick item which ...


14

Ensure that the component (either the sublayout, view rendering item or the controller rendering item) has it's "editable" checkbox checked.


8

My investigation has shown that it can be easily done by configuration. Individual placeholders can be explicitly excluded from wrapping: <?xml version="1.0" encoding="utf-8" ?> <configuration xmlns:patch="http://www.sitecore.net/xmlconfig/"> <sitecore> <experienceAccelerator> <grid> <...


7

For Bootstrap 3, I think these were hardcoded on the body view, but for Bootstrap 4, on this item - /sitecore/system/Settings/Feature/Experience Accelerator/Bootstrap 4/Bootstrap 4 Grid Definition you should see a section that defines the Placeholder Wrapper tag/class


6

Sitecore really should ship with some CSS to make sure that placeholders don't shrink to 0px width. I've had this numerous times, and you can't click on something that's 0px wide. Try adding this to your site's css .scEmptyPlaceholder { min-width: 100px;}


6

What is static- and dynamic bindings in general? Static binding means adding a rendering to a page in a raw way, e.g. in an mvc view: @Html().RenderAction("Controller", "Action"); Essentially, it means that you are not able to change this without editing the code. Dynamic binding means that on a page you will have a placeholder to put ...


6

I think the most common extension is to use the rules engine. You create a processor for the GetPlaceholderRenderings pipeline that uses the rules engine to add/remove renderings. Here are some links to various implementations of the idea. I'm sure there are more out there too. https://github.com/matthewkenny/ConditionalPlaceholderSettings https://github....


6

You can't put rendering parameters on a placeholder, no. You can put rendering parameters on the rendering that contains the placeholder, though. And, if needed, you could create a "wrapper rendering" that just contained a placeholder and perhaps a wrapper div on which you could put classes, ids or other attributes to make it easier to style with CSS.


6

One approach which we took on a previous project was to include some additional markup in Experience Editor mode and then apply some CSS to style those elements in a way that highlights them and makes placeholder and components more obvious to the authors. There are a number of ways to achieve this, such as adding additional pipelines to wrap your component ...


6

You can do this using conditional rendering rules. You would need to add the Form to the page twice, but it will only get rendered once. Take this example. I have 2 promo renderings and I want them to render based on the value of a field (could be a checkbox) on an item: Now add a new rule: In the rule, you can use the where the **specific** field **...


6

If you're going to use a placeholder multiple times on a given page you need to use a Dynamic Placeholder instead. That will append a suffix to the placeholder value when the rendering is added to the page so that it is unique. In your view instead of @Html.Sitecore().Placeholder("YourPlaceHolderKey") You'd use @Html.Sitecore().DynamicPlaceholder("...


5

This is more of an opinion based question. But I will list the positives and negatives below. A lot of these depend on your preference. I have personally gone with both approaches, so I know that most Positive/Negative of Static Bindings: + Less clutter in your Presentation Details. + Less work maintaining your Presentation Details. - Less control: ...


5

It's not really an answer to your direct question, but it's a solution. I am using Fortis dynamic placeholder for MVC right now. Works out of the box. Zero problems with nesting. Site: http://fortis.ws/fortis-collection/dynamic-placeholders/ NuGet: https://www.nuget.org/packages/DynamicPlaceholders.Mvc/ <div class="container-fluid"> <div ...


5

Your placeholder keys should not depend on your markup at all. They should be based on something more abstract like how the placeholder is intended to be used. You should also consider how you want to manage the placeholder settings. In the case of a bootstrap grid, you could use the concept column width to control which renderings are allowed in ...


5

If memory serves, the GetPlaceholder() method dates from the WebForms era of Sitecore. I don't think it works correctly with MVC layouts, as pages don't get rendered in the same way any more. I tried a quick test, and if I iterate the contents of Sitecore.Context.Page.Placeholders (which GetPlaceholder() uses internally) then I see different results on a ...


4

You can make use of the Parameters field on the View/Controller Rendering templates to pass in some additional values and then use these in your View/Controller to then run whatever logic you need. You still need to create 3 Rendering definition Items in Sitecore, but they can all point to the same View/Controller, but with the different parameters updated. ...


4

You can reach your placeholder like this: RenderingContext.Current.Rendering.Placeholder. It's a string. if (RenderingContext.Current.Rendering.Placeholder == "main") do stuff;


4

Summary To summarise the comments on this question, which provide a reasonable answer. 7.5 does not have the fix applied. 7.2 update 6 does. They recommend upgrading to 8 for improved functionality Sitecore strongly recommends that you upgrade to the latest version of the Sitecore Experience Platform. [...] The latest Sitecore XP 8.0 update also ...


4

You're quite right about why it's not working - MVC renderings don't execute the global conditional rendering rules. This is not something I've had to do, but here's a suggestion. Someone might be able to suggest a better method, but here are a couple of suggestions: Setting parameters during rendering You could look at amending the mvc.renderPlaceholder ...


4

The real benefit is to allow your editors to change the header to meet their needs without needing a specific template. Example is a landing page for a campaign that requires a smaller header/menu. The editor could change out the header with a new header for that page specifically without requiring development to create a template for this single use. You ...


4

welcome to SSE. The short answer is, yes you can. Here is the reference material: https://doc.sitecore.net/sitecore_experience_accelerator/building_the_layout/renderings/add_a_dynamic_placeholder_to_a_rendering_variant The longer answer: Add a placeholder to your rendering variant and add the Placeholder Key value. Make sure you do not add a dash to the ...


3

This problem was related to some jquery function, in the header html, a section has id=”header” and some jquery functions are based on this id in a custom jquery file “jquery.layout.js”.Our placeholder key and the id jquery using was same so updated the id for the section in both html and js to resolve the problem. I have write a blog for this problem and ...


3

Just to add onto @Kasaku's response, if you are looking to create a processor for the <renderPlaceholder> pipeline that will run rules then you will either want to create a new processor to run your rules or extend and replace the OOTB Sitecore.Mvc.Pipelines.Response.RenderPlaceholder processor. From a performance standpoint, your best bet would be to ...


3

With the new dynamic placeholders of Sitecore 9, you can add a seed. In this way you can reuse the name of your placeholder and reuse the placeholder settings. However, the placeholders have another key due to their seeds. https://doc.sitecore.net/sitecore_experience_platform/developing/developing_with_sitecore/dynamic_placeholders Example: @Html.Sitecore()...


3

Once you use a placeholder in the Partial design, be becomes locked into that partial design, you can no longer add components to that placeholder on the page directly. The work around for this would be to add containers in the left1 column, above and below (or just one of those, depending on where you want to left content editors add components) the ...


3

As you noted, SXA has a scaffolding feature that helps to speed up new tenant/site creation. For example, the Page Content feature has the following: /sitecore/system/Settings/Feature/Experience Accelerator/Page Content Each of the items with the plus icon (AddItem template) have a way for you to create items in the tree. You may test out using a branch ...


3

I hope below is the structure of the layout. As you mentioned you have applied component in jss-main placeholder which is correct. You can apply two-column component on jss-main placeholder which will be like this /jss-main/two-column Now to apply simple-text component on Column1 and Column2, you can apply simple-text component like this /jss-main/column1/...


2

I don't think that this is immediately possible without heavy re-architecture of Sitecore's rendering pipelines. That being said, having time, a decompiler, and hacker-ninja skills, anything is possible. The rendering of a placeholder is done differently and separately than the rendering of a rendering itself. Taking a quick look at the pipelines available ...


2

This might be overkill if you only need this functionality for one rendering, but it could give you the flexibility you seem to be looking for. The idea would be to extend renderings to have default personalization rules that apply to all instances of that rendering. Please note that I haven't actually tested this, it's just a concept. Create a template ...


2

This was just because caching had been mistakenly added to the Sublayouts that use dynamic placeholders. Edit (further explanation): We have a set of sublayouts/renderings that are used for page structure, and just contain (dynamic) placeholders - i.e. "one column row", "two column row" etc. They are just used to add actual components into. Adding caching ...


Only top voted, non community-wiki answers of a minimum length are eligible