AllgemeinLink in Sitecore

8

Ich bin neu bei Sitecore .. Ich habe eine Seitenvorlage erstellt und ein Feld für eine URL vom Typ General Link hinzugefügt. Ich habe ein anderes Feld für den Text für den Link erstellt (dies ist in diesem Projekt Standard).

Ich möchte einfach den Link in meinem Benutzer-Steuerelement anzeigen, aber ich kann es einfach nicht zum Laufen bringen. Dies sollte einfach sein, aber ich gehe in Kreisen

Hier ist ein Beispiel für den Code, den ich versucht habe.

ascx:

%Vor%

ascx.cs:

%Vor%     
Steve Ward 12.11.2013, 02:46
quelle

6 Antworten

28

Sie sollten vorsichtig mit linkField.Url umgehen, da es interne Links zu Sitecore-Elementen und Medien falsch darstellt. Sie sollten stattdessen Sitecore.Links.LinkManager.GetItemUrl(item) und Sitecore.Resources.Media.MediaManager.GetMediaUrl(item) für diese verwenden.

Es wäre besser, eine Helfer (Erweiterung) -Methode zu haben, die die richtige URL für Sie zurückgibt, basierend auf dem Typ des Links. Werfen Sie einen Blick auf diese Sitecore Links mit LinkManager und MediaManager Blog Beitrag, der den richtigen Code hat, den Sie dafür benötigen.

Als Referenz:

%Vor%

Verwendung:

%Vor%

Es wäre natürlich am besten, <sc:FieldRender> control zu verwenden und Sitecore dies für Sie übernehmen zu lassen, aber es sieht so aus, als hätten Sie diese Option nicht.

    
jammykam 12.11.2013, 03:50
quelle
11

Ab Sitecore 7.2 gibt es eine Alternative zu linkField.Url:

%Vor%
  

Eine neue LinkField.GetFriendlyUrl () -Methode wurde eingeführt. Die Methode macht es einfach, eine gültige URL auszugeben, unabhängig davon, welche Art von Verknüpfung das Feld enthält. Bei internen Links gibt die Methode eine URL von LinkManager.GetItemUrl () zurück. Bei Medienlinks gibt die Methode eine URL von MediaManager.GetMediaUrl () zurück. Bei externen Links, Ankerlinks, E-Mail-Links und JavaScript-Links gibt die Methode den Wert der LinkField.Url-Eigenschaft zurück. (400051)

Ссылка

    
KochFolie 03.02.2015 13:03
quelle
5

Es wäre einfacher, wenn Sie das Link-Steuerelement verwenden:

%Vor%

Auf diese Weise müssen Sie keine Code-Behind-Sachen machen, und Sie können auch den Page Editor verwenden.

    
Trayek 12.11.2013 09:03
quelle
2

Sie können unten

verwenden %Vor%

Es wird für Sie arbeiten.

    
Yogesh Sharma 31.03.2014 14:45
quelle
1

Wenn Sie einem GeneralLink-Feld eines Elements einen Wert zuweisen, wird im Dialogfeld "Interner Link" ein Feld mit der Bezeichnung "Link Description" angezeigt. Füllen Sie diesen Wert aus und verwenden Sie dann:

%Vor%

Das ist es. Alles ist für Sie "automatisch verkabelt", automatisch.

    
Josh Wheelock 23.06.2014 09:07
quelle
1

Sie müssen den Wert Linkfield des Elements abrufen und dann den LinkField -Typ dieses Elements abrufen. Dies gibt Ihnen die Art des Links entweder "Intern", "Extern", "Mailto" und basierend darauf kann die URL des Link-Feldes, wie dies von @jammykam erwähnt wird.

Dasselbe, was Sie tun können, um LinkText ebenfalls abzurufen.

Als Referenz:

%Vor%     
HiralShah 01.05.2014 21:20
quelle

Tags und Links