Atualizando as propriedades dos renderings com Sitecore e Powershell Extensions

Voce já teve que atualizar uma propriedade em um rendering em vários itens da árvore de conteúdo e não queria atualizá-los manualmente? Eu recentemente tive que fazer isso e abaixou vou descrever como fazê-lo, utilizando o módulo Powershell Extensions.

Quando você tiver um cenário parecido com esse, eu recomendo você utilizar o módulo Powershell Extensions.

Se você trabalha com Sitecore e não conhece esse módulo, eu recomendo que começe a usar. Você pode ganhar bastante tempo utilizando ele. Você pode fazer o download do módulo na marketplace da Sitecore.

No cenário deste post, eu queria atualizar um rendering em todos os itens de um determinado template e setar a propriedade de cache “Vary By Data” para checado em todos os itens.

Para fazer isso basta rodar este script:

$items = Get-ChildItem -Recurse | Where-Object {$_.TemplateID -match “{79A0F7AB-17C8-422C-B927-82A1EC666ABC}”} | ForEach-Object {

$renderingInstance = Get-Rendering -Item $_ -Rendering $rendering
if($renderingInstance){
$renderingInstance.VaryByData = 1
Set-Rendering -Item $_ -Instance $renderingInstance
}

}

Caso você tenha alguma dúvida sobre o que ele está fazendo vou detalhar melhor.

Ele esta pegando todos os itens descendentes o item de contexto do Sitecore, que nesse caso é sitecore\content\home e está filtrando por todos os itens que sejam do template com o ID igual a  “{79A0F7AB-17C8-422C-B927-82A1EC666ABC}”.

Depois ele faz um loop em todos os resultados e pega o rendering de cada item no loop e armazena na variável renderingInstance. Se ela não for nula, ele seta a propriedade VaryByData com o valor 1(checado) e executa o comando Set-Rendering.

A essa altura todos os items que ele percorreu no loop terão a propriedade “Vary By Data” checada, conforme abaixo:

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s