Domanda

Ho un sito Pubblicazione di SharePoint 2010 con due etichette di varianti.

A livello di raccolta siti, sotto Impostazioni di ricerca, la ricerca è configurato come segue:

  • raccolta siti Centro ricerche : non utilizzare personalizzato ambiti
  • raccolta siti Ricerca di goccia Modo giù : non mostrano ambiti discesa, e di default a scopo contestuale
  • risultati della raccolta nel sito Ricerca Pagine : /_layouts/OSSSearchResults.aspx

Quando si esegue una ricerca, nella pagina dei risultati di ricerca è in /{Variation}/_layouts/OSSSearchResults.aspx. Tutto bene fino ad ora.

ho aggiunto una copia di OSSSearchResults.aspx per la mia soluzione e la rinominò a MyOSSSearchResults.aspx e poi cambiato il risultati della raccolta nel sito Ricerca Pagine impostazione per /_layouts/MyOSSSearchResults.aspx.

Ora, quando eseguo una ricerca, i risultati vengono visualizzati in /_layouts/MyOSSSearchResults.aspx - a livello di raccolta siti, di sopra delle mie variazioni.

Che cosa devo fare per garantire che la mia versione personalizzata di spettacoli OSSSearchResults.aspx risultati della ricerca a livello di variazione?

Grazie!

È stato utile?

Soluzione

mi rendo conto che questo non è l'approccio ideale per l'implementazione di ricerca su un sito web di SharePoint pubblica, ma ho voluto metterlo là fuori nel caso in cui altre persone venire attraverso lo stesso problema.

ho creato una copia di OSSSearchResults.aspx e fece le configurazioni di styling e web part necessarie ad esso. Ho dovuto fare un paio di cose per ottenere questo per funzionare correttamente all'interno della struttura e le variazioni in un sito anonimo:

1. Impostare Risultati della raccolta siti pagina di ricerca agli ../ layout / Search.aspx

Si noti la ".. 'questo assicura che la mia pagina dei risultati di ricerca viene ancora fino nel mio variazione, per esempio, se cerco di http://www.domain.com/EN/subsite/Pages/_layouts/Search.aspx , che ovviamente non funzionerebbe.

2. Modificare il codice dietro classe per Search.aspx ereditare da UnsecuredLayoutsPageBase e impostare la proprietà AllowAnonymousAccess su true.

public partial class Search : UnsecuredLayoutsPageBase
{
    protected override bool AllowAnonymousAccess
    {
        get
        {
            return true;
        }
    }
}

Senza questo, gli utenti anonimi non saranno in grado di accedere alla pagina dei risultati di ricerca.

3. Ricerca cambiamento e disponibilità offline Impostazioni

Assicurarsi che “indice sempre tutte le web part in questo sito” è selezionata, gli utenti anonimi altrimenti non vedono i risultati.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top