2015-02-25 9 views
6

Abbiamo un sito Sitecore in cui diversi elementi hanno interrotto i collegamenti a un vecchio stato del flusso di lavoro che non è più con noi. So che è possibile rimuovere i collegamenti quando si elimina un elemento, ma non vedo un'interfaccia per rimuovere semplicemente un collegamento interrotto su un articolo, quando l'elemento mancante è già andato.Come rimuovere i collegamenti interrotti in Sitecore

Qual è il modo migliore per rimuovere i collegamenti interrotti in questo caso? Grazie.

+0

Provare a ricostruire il database di collegamento utilizzando l'opzione nel pannello di controllo –

risposta

8

C'è una pagina di amministrazione Sitecore che consente di rimuovere i collegamenti interrotti. Lo si può trovare qui:

http://localhost/sitecore/admin/RemoveBrokenLinks.aspx

Basta selezionare il database ed eseguire l'azione. È inoltre possibile serializzare tutti gli elementi modificati durante questo processo.

Potrebbe essere necessario modificare le impostazioni di timeout in web.config:

<setting name="DefaultSQLTimeout" value="10:00:00" /> 
<setting name="DataProviderTimeout" value="00:00:00" /> 
+0

Grazie! Sono nuovo per il sitecore, perché dovrei voler serializzare gli elementi che sono stati modificati? – Scott

+1

Se ti rendi conto che manca qualcosa di importante dopo l'azione, puoi deserializzare la vecchia versione dell'articolo dal file serializzato. –

2

Sitecore mantiene una tabella denominata Link nel database specificato nella sezione LinkDatabase di web.config. È possibile ottenere tutti i collegamenti interrotti nel seguente modo:

Sitecore.Data.Database db = Sitecore.Context.Database; 
Sitecore.Links.LinkDatabase linkDb = Sitecore.Globals.LinkDatabase; 
Sitecore.Links.ItemLink[] brokenLinks = linkDb.GetBrokenLinks(db);