Ok de titel is wat vaag, zal mijn probleem (versimpeld) proberen uit te leggen. Ik ben een website aan het maken met een x aantal pagina's, waarvan sommige voor particulieren zijn en andere voor zakelijke klanten. Nu wil ik in de zones BeforeMain en AfterMain een quote tonen. Deze quotes komen per twee uit een voorgedefnieerd lijstje, en moeten tegelijk "roteren". Dus na x seconden worden in zowel BeforeMain als AfterMain een nieuwe quote getoond. Hiervoor heb ik de volgende classes gemaakt:
Uiteraard met de bijbehorende ContentPart, Handler en Driver implementaties etc. In mijn migrations heb ik de QuoteGroupPart en QuotePart attachable en creatable gemaakt:
Zodoende kan ik de QuoteGroups en Quotes maken en de QuoteGroupPart aan de Page ContentType toevoegen.
En hier zit mijn probleem, ik wil graag vooraf twee QuoteGroups maken ("particulier" en "zakelijk"), met in elk een aantal quotes. Bij het maken of bewerken van een pagina wil ik dan een bestaande QuoteGroup selecteren, echter wordt de bestaande editorTemplate getoond (met allen een Name tekstveld). Ik wil graag een lijstje of dropdown of iets dergelijks tonen waar een selectie gemaakt kan worden uit de bestaande QuoteGroups, maar ik heb geen idee hoe ik dit voor elkaar krijg. Lang verhaal, ik hoop dat jullie begrijpen wat ik wil (en dat er hier uberhaupt Orchard mensen zijn..)
C#:
1
2
3
4
5
6
7
8
9
10
11
| public class QuoteGroup : ContentPartRecord { public virtual string Name{ get; set; } } public class Quote : ContentPartRecord { public virtual string GroupName { get; set; } public virtual string Line1{ get; set; } public virtual string Line2{ get; set; } } |
Uiteraard met de bijbehorende ContentPart, Handler en Driver implementaties etc. In mijn migrations heb ik de QuoteGroupPart en QuotePart attachable en creatable gemaakt:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| public int Create() { ContentDefinitionManager.AlterPartDefinition("QuoteGroupPart", builder => builder.Attachable()); ContentDefinitionManager.AlterTypeDefinition("QuoteGroup", cfg => cfg .WithPart("QuoteGroupPart") .Creatable()); ContentDefinitionManager.AlterTypeDefinition("Quote", cfg => cfg .WithPart("Quote") .Creatable()); } |
Zodoende kan ik de QuoteGroups en Quotes maken en de QuoteGroupPart aan de Page ContentType toevoegen.
En hier zit mijn probleem, ik wil graag vooraf twee QuoteGroups maken ("particulier" en "zakelijk"), met in elk een aantal quotes. Bij het maken of bewerken van een pagina wil ik dan een bestaande QuoteGroup selecteren, echter wordt de bestaande editorTemplate getoond (met allen een Name tekstveld). Ik wil graag een lijstje of dropdown of iets dergelijks tonen waar een selectie gemaakt kan worden uit de bestaande QuoteGroups, maar ik heb geen idee hoe ik dit voor elkaar krijg. Lang verhaal, ik hoop dat jullie begrijpen wat ik wil (en dat er hier uberhaupt Orchard mensen zijn..)