2016-07-02 6 views
0

Ich benutze N2CMS Version 2.9.6.8 und sagen wir, ich habe die Konto/Login-Seite geöffnet, dann möchte ich auf den Abonnement-Link unter dem Login-Formular klicken.Wie erhalte ich die URL eines anderen Inhaltselements mit N2CMS?

Also, wie Sie die URL der Subscribe-Seite erhalten, um das ahref-Tag korrekt zu erstellen?

Die Website hat viele Sprachen und wenn ich will auf diese Weise den href-Tag bauen:

<a href="@Url.Action("Index", "Subscription")">Wanna subscribe?</a> 

ich http://mysiteweb.com/Subscription/Index bekommen, die einer 400 nicht gefunden Seite anstatt etwas wie http://mywebsite.com/en/subscription (mit der Sprache ID geben).

Die Subscription-Seite wurde über das Admin-Panel veröffentlicht, also denke ich, dass es möglich ist, eine href darauf ohne jede harte Codierung zu erstellen?

Hoffnung wir um einen N2CMS Fan haben ..

Dank für jede Hilfe,

David

Antwort

0

Ich fand schließlich die Antwort. Sie können die vollständige URL über die mit dem CMS angegebene API abrufen.

Stellen Sie sich zum Beispiel vor, Sie hätten ein Steuerelement namens ChangePasswordViewModel, das von ContentItem erbt, dann haben Sie den zugehörigen Controller. Sie können die vollständige URL unabhängig von der aktuellen Sprache erhalten, indem Sie diese:

@{ 
var item = Find.Items 
    .Where.Type.Eq(typeof(ChangePasswordViewModel)).And.State.Eq(ContentState.Published) 
    .Select().SingleOrDefault(); 
} 

Und dann <a href="@item.Url">Change password</a>

Zum Schluss nicht vergessen, die ChangePasswordViewModel Kontrolle im Admin-Panel-Abschnitt hinzuzufügen und Alles funktioniert gut mit der API.

David