2012-03-17 6 views
0

Je suis en train de développer un widget pour montrer que le contenu pousse sur la page d'accueil. Le modèle de poussée est comme ci-dessous.Orchard CMS, fusionner des modèles

public class PushRecord: ContentPartRecord { chaîne virtuelle publique En-tête {get; ensemble; } Chaîne virtuelle publique Texte {get; ensemble; } Chaîne virtuelle publique Url {get; ensemble; } }

Sur l'admin, j'ai modifié le ContentType du Push Widget pour ajouter le champ Media Picker. Je voudrais faire un lien hypertexte autour de l'image avec Url fourni par PushPart. Npw le widget est rendu par deux modèles, Parts.Push.cshtml et Fields.MediaPicker-PushWidget-Image.cshtml. Comment puis-je fusionner ces deux et rendre mon rendu Push possible? Toute aide est grandement appréciée.

+0

Pourquoi voulez-vous les fusionner? Vous n'avez pas dit ce qui ne fonctionne pas. –

Répondre

0

Peut-être essayer de supprimer l'affichage de mediapickerfield via placement.info, puis rendre explicitement l'image avec le lien hypertexte à partir du fichier .cshtml de la PushPart. Vous pouvez accéder à l'URL MediaPickerField comme ceci:

@{ 
    var pushPart = Model.ContentPart; 
    var photoUrl = pushPart.MediaPickerFieldName.Url; 
} 
<a href="@GetYourUrlFromPushPart"><img src="@photoUrl" ... /></a> 
+0

Merci pour votre réponse rapide. J'ai essayé beaucoup autour de ceci, j'obtiens une exception Models.PushPart 'ne contient pas une définition pour' MediaPickerFieldName '. Je suppose qu'il me manque quelque chose. – Jyothish

+0

Pouvez-vous coller le code de la vue où vous obtenez cette erreur? –

+0

J'ai ajouté le MediaPickerField à partir du panneau d'administration en modifiant PushWideget. Quand j'ai ajouté dans le migration.cs, il fonctionne comme prévu. Merci pour votre aide – Jyothish