I want to create a news section in a SharedContent node that is outside each of the 3 website nodes. When entering a news article in the News section, the user will choose which of the websites this article will appear on by ticking a checkbox (ShowOnSite1, ShowOnSite2 etc).
Now the tricky bit. When a news article in the SharedContent area is published, I want to render virtual nodes under each News Node in each of the websites.
I assume there are a few events that I could hook into... could anyone point me in the right direction? Has anyone done this before?
Unless I am missing the point, this doesn't seem to address the creation of a virtual node. Obviously there would be code that would be filtering the news items according to website name/alias - that is not the problem though. How woudl a news item appear on its own page in the website?
The above idea for a macro could output a list of newsitems and could filter for each website but I need each news item to have its own webpage.
What I am trying to do is render shared content on its own page but without having to create that page in the content tree - hence the term virtual node - this would be a node that is created after a user clicks publish and would be injected into the cache (umbraco.config) but would never actually exist in the content tree (only in the SharedContent) section.
It must be possible - I know I need to hook into some events to do this but am not completely sure where to start.
Ok, got the point now. Yes you're right. You need to hook into an event. umbraco.cms.businesslogic.web.Document class contains all the events for a document (including saving and publishing ones).
This way, you could duplicate the current document and save it in the right website.
Virtual Nodes and sharing content
Hi all
Am using U4.9 currently and will be upgrading this install to 4.10.1 shortly.
I am creating an Umbraco install that will have multiple websites and content that will need to be shared across these sites.
Umbraco will have this content structure
I want to create a news section in a SharedContent node that is outside each of the 3 website nodes. When entering a news article in the News section, the user will choose which of the websites this article will appear on by ticking a checkbox (ShowOnSite1, ShowOnSite2 etc).
Now the tricky bit. When a news article in the SharedContent area is published, I want to render virtual nodes under each News Node in each of the websites.
I assume there are a few events that I could hook into... could anyone point me in the right direction? Has anyone done this before?
Jules
You could add just a simple macro that filters nodes of Shared Content based on the alias of the current site:
1) Get the alias of current site
2) Get the nodes of Shared Content
3) Loop into the shared content based on the document type you want to publish and the current website alias
Hope it's clear ;)
Hi Marcos
Thanks for the reply.
Unless I am missing the point, this doesn't seem to address the creation of a virtual node. Obviously there would be code that would be filtering the news items according to website name/alias - that is not the problem though. How woudl a news item appear on its own page in the website?
The above idea for a macro could output a list of newsitems and could filter for each website but I need each news item to have its own webpage.
What I am trying to do is render shared content on its own page but without having to create that page in the content tree - hence the term virtual node - this would be a node that is created after a user clicks publish and would be injected into the cache (umbraco.config) but would never actually exist in the content tree (only in the SharedContent) section.
It must be possible - I know I need to hook into some events to do this but am not completely sure where to start.
Jules
Ok, got the point now. Yes you're right. You need to hook into an event. umbraco.cms.businesslogic.web.Document class contains all the events for a document (including saving and publishing ones).
This way, you could duplicate the current document and save it in the right website.
is working on a reply...