I need to reorder renderings in Presentation Details on all pages












1














Working on a client's site and they have thousands of items with layout. In the layout of every page we have two renderings - Top Navigation, then Pinned Navigation. We made an architectural mistake early on by putting Top Navigation before Pinned Navigation. We need Pinned to be before Top. Usually, this would be pretty easy to fix, but there's a bit of background here.



As explained in a recent question I posted, the navigation renderings are set on a base page template, and there are other templates with custom shared layouts that inherit from Base Page. The reason why this can't be fixed easily? For some reason when I change the Base Page template, changes do not automatically carry forward to other page templates that inherit from it... and resetting standard values isn't an option as we set a custom shared layout on those templates standard values (I'm pretty sure resetting would break all pages that use that template, if not immediately, the next time someone resets layout on the page level).



So, I thought maybe a PowerShell script would be the answer, but the only way I can think of (updating the __Renderings field manually) didn't work. I literally reordered the XML in the field using Raw values, saved, and the reorder did not happen (when I open Presentation Details again).



Then I found another way, through Sitecore Search, if I enter a query and click Search Operations -> Apply presentation, I could theoretically apply the reordering of these two renderings to all pages, but every time I do that I get an error (even if the results I am trying to apply presentation to are all of the same template type):



System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Exception: Can't start with unequal nodes at Sitecore.Xml.Patch.XmlDiffHelper.DoCompare(IXmlElement original, IXmlElement modified, IElementIdentification identification, IComparisonContext context) at Sitecore.Xml.Patch.XmlDiffHelper.Compare(XmlDocument original, XmlDocument modified, IElementIdentification id, XmlPatchNamespaces ns)


So I've literally run out of options and am looking for some way to do this. I suppose not using renderings for header navigation components (and just having Html.Partials in the layout file) might have been a better option from the beginning, but I really don't know.



P.S.: Just as I was about to submit this question, one possibility hit me (although it's a workaround): using a different placeholder for one and updating the placeholder references in the layout cshtml. However, I feel like it would be nice to actually know a real solution to this. So, the questions I would like answered are:




  1. Why does updating the Base Page template not update other page templates inheriting from it automatically? (I am updating SHARED layout only. I NEVER update final layout)

  2. Why does updating the __Renderings field through Raw values and saving not have any impact on the ordering of the renderings when opening Presentation Details?

  3. Why am I getting an error trying to apply presentation to multiple page items of the same template type and what does the error mean (researched the main error message, nothing found).










share|improve this question






















  • Can you provide an example PowerShell script you use to change the order for renderings on a single page? This is perhaps the most efficient way to solve the issue.
    – Michael West
    yesterday










  • @MichaelWest No PS script. I literally just tried moving the <r> element corresponding to Top Nav after the <r> element for Pinned Nav in the __Renderings field, using raw values, and saved the item. I didn't want to write a PS script if it didn't work as simple as that. Is something more needed to make the change?
    – Paul
    yesterday


















1














Working on a client's site and they have thousands of items with layout. In the layout of every page we have two renderings - Top Navigation, then Pinned Navigation. We made an architectural mistake early on by putting Top Navigation before Pinned Navigation. We need Pinned to be before Top. Usually, this would be pretty easy to fix, but there's a bit of background here.



As explained in a recent question I posted, the navigation renderings are set on a base page template, and there are other templates with custom shared layouts that inherit from Base Page. The reason why this can't be fixed easily? For some reason when I change the Base Page template, changes do not automatically carry forward to other page templates that inherit from it... and resetting standard values isn't an option as we set a custom shared layout on those templates standard values (I'm pretty sure resetting would break all pages that use that template, if not immediately, the next time someone resets layout on the page level).



So, I thought maybe a PowerShell script would be the answer, but the only way I can think of (updating the __Renderings field manually) didn't work. I literally reordered the XML in the field using Raw values, saved, and the reorder did not happen (when I open Presentation Details again).



Then I found another way, through Sitecore Search, if I enter a query and click Search Operations -> Apply presentation, I could theoretically apply the reordering of these two renderings to all pages, but every time I do that I get an error (even if the results I am trying to apply presentation to are all of the same template type):



System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Exception: Can't start with unequal nodes at Sitecore.Xml.Patch.XmlDiffHelper.DoCompare(IXmlElement original, IXmlElement modified, IElementIdentification identification, IComparisonContext context) at Sitecore.Xml.Patch.XmlDiffHelper.Compare(XmlDocument original, XmlDocument modified, IElementIdentification id, XmlPatchNamespaces ns)


So I've literally run out of options and am looking for some way to do this. I suppose not using renderings for header navigation components (and just having Html.Partials in the layout file) might have been a better option from the beginning, but I really don't know.



P.S.: Just as I was about to submit this question, one possibility hit me (although it's a workaround): using a different placeholder for one and updating the placeholder references in the layout cshtml. However, I feel like it would be nice to actually know a real solution to this. So, the questions I would like answered are:




  1. Why does updating the Base Page template not update other page templates inheriting from it automatically? (I am updating SHARED layout only. I NEVER update final layout)

  2. Why does updating the __Renderings field through Raw values and saving not have any impact on the ordering of the renderings when opening Presentation Details?

  3. Why am I getting an error trying to apply presentation to multiple page items of the same template type and what does the error mean (researched the main error message, nothing found).










share|improve this question






















  • Can you provide an example PowerShell script you use to change the order for renderings on a single page? This is perhaps the most efficient way to solve the issue.
    – Michael West
    yesterday










  • @MichaelWest No PS script. I literally just tried moving the <r> element corresponding to Top Nav after the <r> element for Pinned Nav in the __Renderings field, using raw values, and saved the item. I didn't want to write a PS script if it didn't work as simple as that. Is something more needed to make the change?
    – Paul
    yesterday
















1












1








1







Working on a client's site and they have thousands of items with layout. In the layout of every page we have two renderings - Top Navigation, then Pinned Navigation. We made an architectural mistake early on by putting Top Navigation before Pinned Navigation. We need Pinned to be before Top. Usually, this would be pretty easy to fix, but there's a bit of background here.



As explained in a recent question I posted, the navigation renderings are set on a base page template, and there are other templates with custom shared layouts that inherit from Base Page. The reason why this can't be fixed easily? For some reason when I change the Base Page template, changes do not automatically carry forward to other page templates that inherit from it... and resetting standard values isn't an option as we set a custom shared layout on those templates standard values (I'm pretty sure resetting would break all pages that use that template, if not immediately, the next time someone resets layout on the page level).



So, I thought maybe a PowerShell script would be the answer, but the only way I can think of (updating the __Renderings field manually) didn't work. I literally reordered the XML in the field using Raw values, saved, and the reorder did not happen (when I open Presentation Details again).



Then I found another way, through Sitecore Search, if I enter a query and click Search Operations -> Apply presentation, I could theoretically apply the reordering of these two renderings to all pages, but every time I do that I get an error (even if the results I am trying to apply presentation to are all of the same template type):



System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Exception: Can't start with unequal nodes at Sitecore.Xml.Patch.XmlDiffHelper.DoCompare(IXmlElement original, IXmlElement modified, IElementIdentification identification, IComparisonContext context) at Sitecore.Xml.Patch.XmlDiffHelper.Compare(XmlDocument original, XmlDocument modified, IElementIdentification id, XmlPatchNamespaces ns)


So I've literally run out of options and am looking for some way to do this. I suppose not using renderings for header navigation components (and just having Html.Partials in the layout file) might have been a better option from the beginning, but I really don't know.



P.S.: Just as I was about to submit this question, one possibility hit me (although it's a workaround): using a different placeholder for one and updating the placeholder references in the layout cshtml. However, I feel like it would be nice to actually know a real solution to this. So, the questions I would like answered are:




  1. Why does updating the Base Page template not update other page templates inheriting from it automatically? (I am updating SHARED layout only. I NEVER update final layout)

  2. Why does updating the __Renderings field through Raw values and saving not have any impact on the ordering of the renderings when opening Presentation Details?

  3. Why am I getting an error trying to apply presentation to multiple page items of the same template type and what does the error mean (researched the main error message, nothing found).










share|improve this question













Working on a client's site and they have thousands of items with layout. In the layout of every page we have two renderings - Top Navigation, then Pinned Navigation. We made an architectural mistake early on by putting Top Navigation before Pinned Navigation. We need Pinned to be before Top. Usually, this would be pretty easy to fix, but there's a bit of background here.



As explained in a recent question I posted, the navigation renderings are set on a base page template, and there are other templates with custom shared layouts that inherit from Base Page. The reason why this can't be fixed easily? For some reason when I change the Base Page template, changes do not automatically carry forward to other page templates that inherit from it... and resetting standard values isn't an option as we set a custom shared layout on those templates standard values (I'm pretty sure resetting would break all pages that use that template, if not immediately, the next time someone resets layout on the page level).



So, I thought maybe a PowerShell script would be the answer, but the only way I can think of (updating the __Renderings field manually) didn't work. I literally reordered the XML in the field using Raw values, saved, and the reorder did not happen (when I open Presentation Details again).



Then I found another way, through Sitecore Search, if I enter a query and click Search Operations -> Apply presentation, I could theoretically apply the reordering of these two renderings to all pages, but every time I do that I get an error (even if the results I am trying to apply presentation to are all of the same template type):



System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Exception: Can't start with unequal nodes at Sitecore.Xml.Patch.XmlDiffHelper.DoCompare(IXmlElement original, IXmlElement modified, IElementIdentification identification, IComparisonContext context) at Sitecore.Xml.Patch.XmlDiffHelper.Compare(XmlDocument original, XmlDocument modified, IElementIdentification id, XmlPatchNamespaces ns)


So I've literally run out of options and am looking for some way to do this. I suppose not using renderings for header navigation components (and just having Html.Partials in the layout file) might have been a better option from the beginning, but I really don't know.



P.S.: Just as I was about to submit this question, one possibility hit me (although it's a workaround): using a different placeholder for one and updating the placeholder references in the layout cshtml. However, I feel like it would be nice to actually know a real solution to this. So, the questions I would like answered are:




  1. Why does updating the Base Page template not update other page templates inheriting from it automatically? (I am updating SHARED layout only. I NEVER update final layout)

  2. Why does updating the __Renderings field through Raw values and saving not have any impact on the ordering of the renderings when opening Presentation Details?

  3. Why am I getting an error trying to apply presentation to multiple page items of the same template type and what does the error mean (researched the main error message, nothing found).







presentation






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked yesterday









Paul

280110




280110












  • Can you provide an example PowerShell script you use to change the order for renderings on a single page? This is perhaps the most efficient way to solve the issue.
    – Michael West
    yesterday










  • @MichaelWest No PS script. I literally just tried moving the <r> element corresponding to Top Nav after the <r> element for Pinned Nav in the __Renderings field, using raw values, and saved the item. I didn't want to write a PS script if it didn't work as simple as that. Is something more needed to make the change?
    – Paul
    yesterday




















  • Can you provide an example PowerShell script you use to change the order for renderings on a single page? This is perhaps the most efficient way to solve the issue.
    – Michael West
    yesterday










  • @MichaelWest No PS script. I literally just tried moving the <r> element corresponding to Top Nav after the <r> element for Pinned Nav in the __Renderings field, using raw values, and saved the item. I didn't want to write a PS script if it didn't work as simple as that. Is something more needed to make the change?
    – Paul
    yesterday


















Can you provide an example PowerShell script you use to change the order for renderings on a single page? This is perhaps the most efficient way to solve the issue.
– Michael West
yesterday




Can you provide an example PowerShell script you use to change the order for renderings on a single page? This is perhaps the most efficient way to solve the issue.
– Michael West
yesterday












@MichaelWest No PS script. I literally just tried moving the <r> element corresponding to Top Nav after the <r> element for Pinned Nav in the __Renderings field, using raw values, and saved the item. I didn't want to write a PS script if it didn't work as simple as that. Is something more needed to make the change?
– Paul
yesterday






@MichaelWest No PS script. I literally just tried moving the <r> element corresponding to Top Nav after the <r> element for Pinned Nav in the __Renderings field, using raw values, and saved the item. I didn't want to write a PS script if it didn't work as simple as that. Is something more needed to make the change?
– Paul
yesterday












2 Answers
2






active

oldest

votes


















3














The following example uses Sitecore PowerShell Extensions to change the order of two renderings. The renderings are next to each other, and essentially swap positions.



Script



# Home Page
$item = Get-Item -Path "master:" -ID "{110D559F-DEA5-42EA-9C1C-8A5DF7E70EF9}"

# All renderings on the final layout
$renderings = Get-Rendering -Item $item -FinalLayout
# Show a table
$renderings | Select-Object -Expand ItemId |
ForEach-Object { Get-Item -Path "master:" -ID $_ } | Format-Table -Property Name

# Rendering I want to move
$scriptRendering = $renderings | Where-Object { $_.ItemId -eq "{37F58448-7460-4AD2-B0FB-67C85C2A49CB}" } | Select-Object -First 1
# Rendering in the desired position
$googleRendering = $renderings | Where-Object { $_.ItemId -eq "{927F51FD-6A7B-4B7E-B692-1B4A0989228F}" } | Select-Object -First 1

# Find the desired position
$index = [array]::IndexOf($renderings, $googleRendering)
Set-Rendering -Item $item -Instance $scriptRendering -Index $index -FinalLayout

$renderings = Get-Rendering -Item $item -FinalLayout
# Show a table
$renderings | Select-Object -Expand ItemId |
ForEach-Object { Get-Item -Path "master:" -ID $_ } | Format-Table -Property Name


Output



Notice that the Script Rendering and Google Rendering swap positions.





Name
----
LinkedIn Share Button
Google Plus One Button
ScriptRendering
Tweet Button

Name
----
LinkedIn Share Button
ScriptRendering
Google Plus One Button
Tweet Button





share|improve this answer























  • Works like a charm! I'll mark it as the accepted answer, but if anyone has any info on questions #1 or #3, feel free to add a separate answer.
    – Paul
    yesterday



















2














With regards to point 2, the raw XML for the Renderings field contains some information about the placement of the rendering in relation to other renderings. That is why moving the elements around will not have the desired effect.



There will be an attribute in the rendering XML element that has a value like:



p:before="r[@uid='{0731F384-B47A-4BEB-82F0-91C83E8A7FF4}']"


which defines where the rendering appears relative to the one referenced by the p:before UID.






share|improve this answer





















  • Good to know! Thank you for responding!
    – Paul
    yesterday











Your Answer








StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "664"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsitecore.stackexchange.com%2fquestions%2f15833%2fi-need-to-reorder-renderings-in-presentation-details-on-all-pages%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























2 Answers
2






active

oldest

votes








2 Answers
2






active

oldest

votes









active

oldest

votes






active

oldest

votes









3














The following example uses Sitecore PowerShell Extensions to change the order of two renderings. The renderings are next to each other, and essentially swap positions.



Script



# Home Page
$item = Get-Item -Path "master:" -ID "{110D559F-DEA5-42EA-9C1C-8A5DF7E70EF9}"

# All renderings on the final layout
$renderings = Get-Rendering -Item $item -FinalLayout
# Show a table
$renderings | Select-Object -Expand ItemId |
ForEach-Object { Get-Item -Path "master:" -ID $_ } | Format-Table -Property Name

# Rendering I want to move
$scriptRendering = $renderings | Where-Object { $_.ItemId -eq "{37F58448-7460-4AD2-B0FB-67C85C2A49CB}" } | Select-Object -First 1
# Rendering in the desired position
$googleRendering = $renderings | Where-Object { $_.ItemId -eq "{927F51FD-6A7B-4B7E-B692-1B4A0989228F}" } | Select-Object -First 1

# Find the desired position
$index = [array]::IndexOf($renderings, $googleRendering)
Set-Rendering -Item $item -Instance $scriptRendering -Index $index -FinalLayout

$renderings = Get-Rendering -Item $item -FinalLayout
# Show a table
$renderings | Select-Object -Expand ItemId |
ForEach-Object { Get-Item -Path "master:" -ID $_ } | Format-Table -Property Name


Output



Notice that the Script Rendering and Google Rendering swap positions.





Name
----
LinkedIn Share Button
Google Plus One Button
ScriptRendering
Tweet Button

Name
----
LinkedIn Share Button
ScriptRendering
Google Plus One Button
Tweet Button





share|improve this answer























  • Works like a charm! I'll mark it as the accepted answer, but if anyone has any info on questions #1 or #3, feel free to add a separate answer.
    – Paul
    yesterday
















3














The following example uses Sitecore PowerShell Extensions to change the order of two renderings. The renderings are next to each other, and essentially swap positions.



Script



# Home Page
$item = Get-Item -Path "master:" -ID "{110D559F-DEA5-42EA-9C1C-8A5DF7E70EF9}"

# All renderings on the final layout
$renderings = Get-Rendering -Item $item -FinalLayout
# Show a table
$renderings | Select-Object -Expand ItemId |
ForEach-Object { Get-Item -Path "master:" -ID $_ } | Format-Table -Property Name

# Rendering I want to move
$scriptRendering = $renderings | Where-Object { $_.ItemId -eq "{37F58448-7460-4AD2-B0FB-67C85C2A49CB}" } | Select-Object -First 1
# Rendering in the desired position
$googleRendering = $renderings | Where-Object { $_.ItemId -eq "{927F51FD-6A7B-4B7E-B692-1B4A0989228F}" } | Select-Object -First 1

# Find the desired position
$index = [array]::IndexOf($renderings, $googleRendering)
Set-Rendering -Item $item -Instance $scriptRendering -Index $index -FinalLayout

$renderings = Get-Rendering -Item $item -FinalLayout
# Show a table
$renderings | Select-Object -Expand ItemId |
ForEach-Object { Get-Item -Path "master:" -ID $_ } | Format-Table -Property Name


Output



Notice that the Script Rendering and Google Rendering swap positions.





Name
----
LinkedIn Share Button
Google Plus One Button
ScriptRendering
Tweet Button

Name
----
LinkedIn Share Button
ScriptRendering
Google Plus One Button
Tweet Button





share|improve this answer























  • Works like a charm! I'll mark it as the accepted answer, but if anyone has any info on questions #1 or #3, feel free to add a separate answer.
    – Paul
    yesterday














3












3








3






The following example uses Sitecore PowerShell Extensions to change the order of two renderings. The renderings are next to each other, and essentially swap positions.



Script



# Home Page
$item = Get-Item -Path "master:" -ID "{110D559F-DEA5-42EA-9C1C-8A5DF7E70EF9}"

# All renderings on the final layout
$renderings = Get-Rendering -Item $item -FinalLayout
# Show a table
$renderings | Select-Object -Expand ItemId |
ForEach-Object { Get-Item -Path "master:" -ID $_ } | Format-Table -Property Name

# Rendering I want to move
$scriptRendering = $renderings | Where-Object { $_.ItemId -eq "{37F58448-7460-4AD2-B0FB-67C85C2A49CB}" } | Select-Object -First 1
# Rendering in the desired position
$googleRendering = $renderings | Where-Object { $_.ItemId -eq "{927F51FD-6A7B-4B7E-B692-1B4A0989228F}" } | Select-Object -First 1

# Find the desired position
$index = [array]::IndexOf($renderings, $googleRendering)
Set-Rendering -Item $item -Instance $scriptRendering -Index $index -FinalLayout

$renderings = Get-Rendering -Item $item -FinalLayout
# Show a table
$renderings | Select-Object -Expand ItemId |
ForEach-Object { Get-Item -Path "master:" -ID $_ } | Format-Table -Property Name


Output



Notice that the Script Rendering and Google Rendering swap positions.





Name
----
LinkedIn Share Button
Google Plus One Button
ScriptRendering
Tweet Button

Name
----
LinkedIn Share Button
ScriptRendering
Google Plus One Button
Tweet Button





share|improve this answer














The following example uses Sitecore PowerShell Extensions to change the order of two renderings. The renderings are next to each other, and essentially swap positions.



Script



# Home Page
$item = Get-Item -Path "master:" -ID "{110D559F-DEA5-42EA-9C1C-8A5DF7E70EF9}"

# All renderings on the final layout
$renderings = Get-Rendering -Item $item -FinalLayout
# Show a table
$renderings | Select-Object -Expand ItemId |
ForEach-Object { Get-Item -Path "master:" -ID $_ } | Format-Table -Property Name

# Rendering I want to move
$scriptRendering = $renderings | Where-Object { $_.ItemId -eq "{37F58448-7460-4AD2-B0FB-67C85C2A49CB}" } | Select-Object -First 1
# Rendering in the desired position
$googleRendering = $renderings | Where-Object { $_.ItemId -eq "{927F51FD-6A7B-4B7E-B692-1B4A0989228F}" } | Select-Object -First 1

# Find the desired position
$index = [array]::IndexOf($renderings, $googleRendering)
Set-Rendering -Item $item -Instance $scriptRendering -Index $index -FinalLayout

$renderings = Get-Rendering -Item $item -FinalLayout
# Show a table
$renderings | Select-Object -Expand ItemId |
ForEach-Object { Get-Item -Path "master:" -ID $_ } | Format-Table -Property Name


Output



Notice that the Script Rendering and Google Rendering swap positions.





Name
----
LinkedIn Share Button
Google Plus One Button
ScriptRendering
Tweet Button

Name
----
LinkedIn Share Button
ScriptRendering
Google Plus One Button
Tweet Button






share|improve this answer














share|improve this answer



share|improve this answer








edited yesterday

























answered yesterday









Michael West

8,29121450




8,29121450












  • Works like a charm! I'll mark it as the accepted answer, but if anyone has any info on questions #1 or #3, feel free to add a separate answer.
    – Paul
    yesterday


















  • Works like a charm! I'll mark it as the accepted answer, but if anyone has any info on questions #1 or #3, feel free to add a separate answer.
    – Paul
    yesterday
















Works like a charm! I'll mark it as the accepted answer, but if anyone has any info on questions #1 or #3, feel free to add a separate answer.
– Paul
yesterday




Works like a charm! I'll mark it as the accepted answer, but if anyone has any info on questions #1 or #3, feel free to add a separate answer.
– Paul
yesterday











2














With regards to point 2, the raw XML for the Renderings field contains some information about the placement of the rendering in relation to other renderings. That is why moving the elements around will not have the desired effect.



There will be an attribute in the rendering XML element that has a value like:



p:before="r[@uid='{0731F384-B47A-4BEB-82F0-91C83E8A7FF4}']"


which defines where the rendering appears relative to the one referenced by the p:before UID.






share|improve this answer





















  • Good to know! Thank you for responding!
    – Paul
    yesterday
















2














With regards to point 2, the raw XML for the Renderings field contains some information about the placement of the rendering in relation to other renderings. That is why moving the elements around will not have the desired effect.



There will be an attribute in the rendering XML element that has a value like:



p:before="r[@uid='{0731F384-B47A-4BEB-82F0-91C83E8A7FF4}']"


which defines where the rendering appears relative to the one referenced by the p:before UID.






share|improve this answer





















  • Good to know! Thank you for responding!
    – Paul
    yesterday














2












2








2






With regards to point 2, the raw XML for the Renderings field contains some information about the placement of the rendering in relation to other renderings. That is why moving the elements around will not have the desired effect.



There will be an attribute in the rendering XML element that has a value like:



p:before="r[@uid='{0731F384-B47A-4BEB-82F0-91C83E8A7FF4}']"


which defines where the rendering appears relative to the one referenced by the p:before UID.






share|improve this answer












With regards to point 2, the raw XML for the Renderings field contains some information about the placement of the rendering in relation to other renderings. That is why moving the elements around will not have the desired effect.



There will be an attribute in the rendering XML element that has a value like:



p:before="r[@uid='{0731F384-B47A-4BEB-82F0-91C83E8A7FF4}']"


which defines where the rendering appears relative to the one referenced by the p:before UID.







share|improve this answer












share|improve this answer



share|improve this answer










answered yesterday









andyp

784




784












  • Good to know! Thank you for responding!
    – Paul
    yesterday


















  • Good to know! Thank you for responding!
    – Paul
    yesterday
















Good to know! Thank you for responding!
– Paul
yesterday




Good to know! Thank you for responding!
– Paul
yesterday


















draft saved

draft discarded




















































Thanks for contributing an answer to Sitecore Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.





Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


Please pay close attention to the following guidance:


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsitecore.stackexchange.com%2fquestions%2f15833%2fi-need-to-reorder-renderings-in-presentation-details-on-all-pages%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

1300-talet

1300-talet

Display a custom attribute below product name in the front-end Magento 1.9.3.8