none
SharePoint Foundation Basissuchcenter Navigation anpassen RRS feed

  • Frage

  • Hallo alle zusammen,

    ich teste gerade mal in die 2010er Produktreihe rein und finde keinen Weg, das Basissuchcenter, welcher auf die Indexierung vom Search Server 2010 Express zugreift, in meine hierarchisch gesehen darüber liegende Teamwebsite zu integrieren. Die Suchwebsite kann zwar verlinkt werden, doch landet der Besucher wenn er dem Link folgt in einer eigenen Unterseite, welche keinen Pfad mehr zurück zur Teamwebsite hat.

    Hierfür finde ich keinen Umsetzungsweg. Alternativ hatte ich an die Integration über den Austausch der Standardsuchbar rechts oben in der Teamwebsite und der Ergebnisauflistung darunter nachgedacht, doch lässt sich die Suchquelle hier nicht einfach per Option ändern (nur über Quellcodeänderung).

    Mir würde die Lösung Teamwebsite->Basissuchcenter ausreichen, wenn für den Anwender dann auch die Navigation Basissuchcenter->Teamwebsite möglich ist.

    Hat jemand eine Idee?

     

    Vielen Dank im Voraus.

    Schönen Gruß

    Alex

    • Bearbeitet Andrei Talmaciu Donnerstag, 5. August 2010 08:17 Titel für eine besser Übersicht geändert
    Dienstag, 27. Juli 2010 14:45

Antworten

  • Hallo Alex,

    da der Suchcenter standardmäßig auf die minimal.master Masterseite basiert, ist auch keine Navigation vorhanden.

    In diesem englischen Forenthread gibt es einen Workaround den du ausprobieren könntest um die Navigation auch auf dier Suchseite anzeigen zu lassen.

    Hoffe das hilft dir weiter.

    Gruß,
    Andrei

    Mittwoch, 28. Juli 2010 11:18
  • Hallo Alex,

    die Hauptnavigation kann auch in 2010 für die meisten Templates so angepasst werden, dass diese konsistent in den Unterseiten dargestellt wird. Leider nur nicht für das Suchcenter.

    Das geht (in der Unterseite) über Websiteeinstellungen - Leiste für häufig verwendete Hyperlinks - Hyperlinks aus übergeordneter Website verwenden oder direkt beim Erstellen der Website unter dem Punkt Navigationvererrbung.

    Damit die Unterseiten in der übergeordneten Website angezeigt werden, überprüffe bitte dass diese in der Leiste für häufig verwendete Hyperlinks (in der übergeordneten Seite) eingetragen wurden (standardmäßig werden diese beim Erstellen der Unterseite dort eingetragen).

    Gruß,
    Andrei

    Freitag, 30. Juli 2010 06:28
  • Ich hatte mir mal ein Memo zusammengeschrieben, um dies in Zukunft reproduzieren zu können. Vielleicht hilft es ja auch weiteren Suchenden (ich hoffe es ist alles Korrekt - zumindest Funnktioniert es bisher reibungslos):

     

    Vererben der TopMenüLeiste in die Search Server 2010 Express Suchseite

    Die Search Server 2010 Express Website basiert auf die „minimal.master“ Vorlage und kann auch nur von dieser Erben. Ein Umstellen  auf „v4.master“ ist nicht möglich. Daher bedarf es einer Codeerweiterung der „minimal.master“ ca. bei Zeile 118.

    <h3 class="s4-mini-header">

    <asp:ContentPlaceHolder id="PlaceHolderPageSubTitle" runat="server" />

    </h3>

    </div>

    </div>


    um folgenden Inhalt:

    <!-- Menübar fängt hier an -->

    <div id="s4-topheader2" class="s4-pr s4-notdlg">

                                   <div class="s4-lp s4-toplinks">

                                                   <asp:ContentPlaceHolder id="PlaceHolderTopNavBar" runat="server">

                                                                   <asp:ContentPlaceHolder id="PlaceHolderHorizontalNav" runat="server">

                                                                                  <SharePoint:AspMenu

                                                                                    ID="TopNavigationMenuV4"

                                                                                    Runat="server"

                                                                                    EnableViewState="false"

                                                                                    DataSourceID="topSiteMap"

                                                                                    AccessKey="<%$Resources:wss,navigation_accesskey%>"

                                                                                    UseSimpleRendering="true"

                                                                                    UseSeparateCss="false"

                                                                                    Orientation="Horizontal"

                                                                                    StaticDisplayLevels="2"

                                                                                    MaximumDynamicDisplayLevels="1"

                                                                                    SkipLinkText=""

                                                                                    CssClass="s4-tn"/>

                                                                                  <SharePoint:DelegateControl runat="server" ControlId="TopNavigationDataSource" Id="topNavigationDelegate">

                                                                                                  <Template_Controls>

                                                                                                                  <asp:SiteMapDataSource

                                                                                                                    ShowStartingNode="False"

                                                                                                                    SiteMapProvider="SPNavigationProvider"

                                                                                                                    id="topSiteMap"

                                                                                                                    runat="server"

                                                                                                                    StartingNodeUrl="sid:1002"/>

                                                                                                  </Template_Controls>

                                                                                  </SharePoint:DelegateControl>

                                                                   </asp:ContentPlaceHolder>

                                                   </asp:ContentPlaceHolder>

                                   </div>

                    </div>

    <!-- Menübar hört hier auf -->

     

    Damit darüber hinaus auch die Layouts im Usermode korrekt angezeigt werden können bedarf es einer Referenz auf die corev4.css Datei im <head> Teil der minimal.master (ca. Zeile 20 – vor diese Zeile: <SharePoint:CssRegistration Name="layouts.css" runat="server"/>):

     

    <SharePoint:CssRegistration Name="corev4.css" runat="server"/>

     

    Anpassung der Suchquelle

    Webseitenaktionen => Webseiteneinstellungen => Webseitensammlungsverwaltung => Sucheinstellungen.

    Websitesammlungs-Suchcenter:

    Der Link zur Suchseite sollte als relativer Pfad angegeben werden. Die zwei Punkte vorangestellt zeigen auf das Root Directory.

     

    Dropdownmodus der Websitesammlungssuche:

    Wenn nur eine Suchseite als Quelle zur Verfügung steht sollte hier der Einfachheit halber die Option „Bereichsdropdown ausblenden und Zielergebnisseite als Standard verwenden“ gewählt werden.

     

    Mehrere Suchseiten als Quellen konfigurieren:

    Wenn es hingegen mehrere Suchseiten als Quelle gibt, sollten diese über die Option „Suchbereiche“ konfiguriert werden. Die Dropdownmodus Einstellung sollte hier in den Sucheinstellungen mit „Bereichsdropdown einblenden“ belegt werden.

    Mittwoch, 1. Dezember 2010 17:13

Alle Antworten

  • Hallo Alex,

    da der Suchcenter standardmäßig auf die minimal.master Masterseite basiert, ist auch keine Navigation vorhanden.

    In diesem englischen Forenthread gibt es einen Workaround den du ausprobieren könntest um die Navigation auch auf dier Suchseite anzeigen zu lassen.

    Hoffe das hilft dir weiter.

    Gruß,
    Andrei

    Mittwoch, 28. Juli 2010 11:18
  • Danke für den Link - schade, dass dies nicht einfacher integriert werden kann, doch werde ich mir mal den Code genauer anschauen.

    Ich habe jedoch festgestellt, dass keinerlei Unterseiten sich in meine Hauptseite integrieren. So wie es für mich aussieht, nutzen die neu angelegten Unterseiten eine eigene Masterpage und nicht die der Übergeordneten Seite. Hab das eben nochmal mit meinem WSS 2007 geprüft und hier ist die "Hauptmenüleiste" konsistent vorhanden, über alle Subseiten hinweg. Teilweise mit abgewandelten Layouts und alle mit unterschiedlichen Inhaltsseiten und Struktur links im Menü.

    Muss ich hier in 2010 etwas global abändern?

    Woran kann das liegen, dass ich so ein "Einzelseitenverhalten" vorfinde?

    Vielen Dank im Voraus.

    Alex

    Donnerstag, 29. Juli 2010 16:41
  • Hallo Alex,

    die Hauptnavigation kann auch in 2010 für die meisten Templates so angepasst werden, dass diese konsistent in den Unterseiten dargestellt wird. Leider nur nicht für das Suchcenter.

    Das geht (in der Unterseite) über Websiteeinstellungen - Leiste für häufig verwendete Hyperlinks - Hyperlinks aus übergeordneter Website verwenden oder direkt beim Erstellen der Website unter dem Punkt Navigationvererrbung.

    Damit die Unterseiten in der übergeordneten Website angezeigt werden, überprüffe bitte dass diese in der Leiste für häufig verwendete Hyperlinks (in der übergeordneten Seite) eingetragen wurden (standardmäßig werden diese beim Erstellen der Unterseite dort eingetragen).

    Gruß,
    Andrei

    Freitag, 30. Juli 2010 06:28
  • Danke für die Info.

    Ich war mir sicher, dass ich die Einstellung beim Erstellen der Seite korrekt gesetzt hatte, doch ohne Erfolg. Nun habe ich es manuell über die Webseiteneistellungen umgesetzt und siehe da - konsistente Navigationsleisten auch in den Subsites.

     

    Nun werde ich mich mal an dem Lösungsvorschlag für die Searchserver Express Seite wagen.

     

     Gruß,

    Alex

    Montag, 2. August 2010 10:07
  • Alle guten Dinge sind 3: Hier meine 3. Rückmeldung mit der Lösung.

    ich habe die minimal.master erweitert, so wie es in Andreis ersten Post verlinkten TechNet Post beschrieben ist.

    Ersten paar versuche haben seltsame Nebenwirkungen im Designe hervorgerufen, doch schlussendlich klappt es nun wie gewünscht. Es ist natürlich nicht exakt das v4.master Layout aber es kommt dem sehr nah und die Hauptsache ist, eine Navigation ist konstant vorhanden.

     

    Danke und Gruß

    Alex

     

    Montag, 2. August 2010 18:23
  • Ich hatte mir mal ein Memo zusammengeschrieben, um dies in Zukunft reproduzieren zu können. Vielleicht hilft es ja auch weiteren Suchenden (ich hoffe es ist alles Korrekt - zumindest Funnktioniert es bisher reibungslos):

     

    Vererben der TopMenüLeiste in die Search Server 2010 Express Suchseite

    Die Search Server 2010 Express Website basiert auf die „minimal.master“ Vorlage und kann auch nur von dieser Erben. Ein Umstellen  auf „v4.master“ ist nicht möglich. Daher bedarf es einer Codeerweiterung der „minimal.master“ ca. bei Zeile 118.

    <h3 class="s4-mini-header">

    <asp:ContentPlaceHolder id="PlaceHolderPageSubTitle" runat="server" />

    </h3>

    </div>

    </div>


    um folgenden Inhalt:

    <!-- Menübar fängt hier an -->

    <div id="s4-topheader2" class="s4-pr s4-notdlg">

                                   <div class="s4-lp s4-toplinks">

                                                   <asp:ContentPlaceHolder id="PlaceHolderTopNavBar" runat="server">

                                                                   <asp:ContentPlaceHolder id="PlaceHolderHorizontalNav" runat="server">

                                                                                  <SharePoint:AspMenu

                                                                                    ID="TopNavigationMenuV4"

                                                                                    Runat="server"

                                                                                    EnableViewState="false"

                                                                                    DataSourceID="topSiteMap"

                                                                                    AccessKey="<%$Resources:wss,navigation_accesskey%>"

                                                                                    UseSimpleRendering="true"

                                                                                    UseSeparateCss="false"

                                                                                    Orientation="Horizontal"

                                                                                    StaticDisplayLevels="2"

                                                                                    MaximumDynamicDisplayLevels="1"

                                                                                    SkipLinkText=""

                                                                                    CssClass="s4-tn"/>

                                                                                  <SharePoint:DelegateControl runat="server" ControlId="TopNavigationDataSource" Id="topNavigationDelegate">

                                                                                                  <Template_Controls>

                                                                                                                  <asp:SiteMapDataSource

                                                                                                                    ShowStartingNode="False"

                                                                                                                    SiteMapProvider="SPNavigationProvider"

                                                                                                                    id="topSiteMap"

                                                                                                                    runat="server"

                                                                                                                    StartingNodeUrl="sid:1002"/>

                                                                                                  </Template_Controls>

                                                                                  </SharePoint:DelegateControl>

                                                                   </asp:ContentPlaceHolder>

                                                   </asp:ContentPlaceHolder>

                                   </div>

                    </div>

    <!-- Menübar hört hier auf -->

     

    Damit darüber hinaus auch die Layouts im Usermode korrekt angezeigt werden können bedarf es einer Referenz auf die corev4.css Datei im <head> Teil der minimal.master (ca. Zeile 20 – vor diese Zeile: <SharePoint:CssRegistration Name="layouts.css" runat="server"/>):

     

    <SharePoint:CssRegistration Name="corev4.css" runat="server"/>

     

    Anpassung der Suchquelle

    Webseitenaktionen => Webseiteneinstellungen => Webseitensammlungsverwaltung => Sucheinstellungen.

    Websitesammlungs-Suchcenter:

    Der Link zur Suchseite sollte als relativer Pfad angegeben werden. Die zwei Punkte vorangestellt zeigen auf das Root Directory.

     

    Dropdownmodus der Websitesammlungssuche:

    Wenn nur eine Suchseite als Quelle zur Verfügung steht sollte hier der Einfachheit halber die Option „Bereichsdropdown ausblenden und Zielergebnisseite als Standard verwenden“ gewählt werden.

     

    Mehrere Suchseiten als Quellen konfigurieren:

    Wenn es hingegen mehrere Suchseiten als Quelle gibt, sollten diese über die Option „Suchbereiche“ konfiguriert werden. Die Dropdownmodus Einstellung sollte hier in den Sucheinstellungen mit „Bereichsdropdown einblenden“ belegt werden.

    Mittwoch, 1. Dezember 2010 17:13
  • Hatte das eben auch mal ausprobiert, in der Hoffnung, das könnte eine vernünftige Lösung bringen - leider bekomme ich folgenden Fehler:

    Der Steuerelementtyp 'System.Web.UI.HtmlControls.HtmlGenericControl' ist auf dieser Seite nicht zulässig. Der Typ ist nicht als sicher registriert.
    

    Im Log taucht dazu folgende Meldung auf:

    12/20/2010 15:35:46.89   w3wp.exe (0x0C4C)              0x2920  SharePoint Foundation       Runtime              tkau  Unexpected  Microsoft.SharePoint.ApplicationRuntime.SafeControls+UnsafeControlException: Der Steuerelementtyp 'System.Web.UI.HtmlControls.HtmlGenericControl' ist auf dieser Seite nicht zulässig. Der Typ ist nicht als sicher registriert.  at Microsoft.SharePoint.ApplicationRuntime.SPPageParserFilter.AllowControl(Type controlType, ControlBuilder childBuilder)   at System.Web.UI.TemplateParser.ProcessBeginTag(Match match, String inputText)   at System.Web.UI.TemplateParser.ParseStringInternal(String text, Encoding fileEncoding)  e5d9624b-6d71-4015-907e-e85dae0240f0
    12/20/2010 15:35:46.89 w3wp.exe (0x0C4C) 0x2920 SharePoint Foundation Monitoring b4ly Medium Leaving Monitored Scope (Request (GET:http://***/suche/default.aspx)). Execution Time=24,4796475529711 e5d9624b-6d71-4015-907e-e85dae0240f0

    Montag, 20. Dezember 2010 14:41