2015-02-25 16 views
6

Mamy witrynę Sitecore, gdzie kilka elementów ma zerwane linki do starego stanu przepływu pracy, który nie jest już z nami. Wiem, że możesz usuwać linki, gdy usuniesz element, ale nie widzę interfejsu umożliwiającego proste usunięcie uszkodzonego linku na produkcie, gdy brakujący element już zniknął.Jak usunąć niedziałające linki w Sitecore

Jaki jest najlepszy sposób na usunięcie niedziałających linków w tym przypadku? Dzięki.

+0

Spróbuj odbudować bazę danych łącza za pomocą opcji w panelu sterowania –

Odpowiedz

8

Istnieje strona administracyjna Sitecore, która umożliwia usuwanie niedziałających linków. Można go znaleźć tutaj:

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

Po prostu wybierz bazę danych i wykonać czynność. Można również szeregować wszystkie elementy zmienione podczas tego procesu.

Być może trzeba zmienić ustawienia limitu czasu w web.config:

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

Dzięki! Jestem nowy w sitecore, dlaczego chciałbym serializować elementy, które zostały zmienione? – Scott

+1

Jeśli zauważysz, że po akcji coś ważnego brakuje, możesz deserializować starszą wersję elementu z pliku zserializowanego. –

2

Sitecore utrzymuje tabelę o nazwie odnośników w bazie danych określonej w sekcji LinkDatabase z web.config. Wszystkie uszkodzone łącza można uzyskać w następujący sposób:

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