Is it possible to "mirror"/duplicate/display content to an area ?
Hey
This might have been answered a thousend times but i cannot find a good solution to this. Instead of trying to explain the issue ill write the scenario where we need it.
-----------
We are soon going to launch a medium-large site with about 10-14 languages upon, variying from US to Japanese.
But the site is only going to contain news in english, but displayed on all languages, and this is the issue.
The structure is like this ATM :
---------------------------
-- EN
-- -- News
-- -- -- Awesome newsitem
-- -- -- Awesome newsitem about rockets
-- -- -- Awesome newsitem about
-- JP
-- -- News
---------------------------
So under the JP/News node the news from EN/News should live and work with urls and everything. The reason that we cannot just link to EN/News is that the JP visitors will suddenly see EN menus and such, so the news must be displayed upon the JP/News with the nodes being generated.
1) Can't you either put the news on a new langugage layer, which has a different URL, and then link to that language with a parameter of which country they came from?
My question is can this be done ? Because i dont know of a feature where i can overrule the "language" set on nodes(hostnames!) trough either API or query param. Also the issue with this one is that the user is leaving their actual content space.
2. "Related"
DC is no problem, HREFlang and canonical is your savior here, but since ive never worked with related im a bit on rock bottom. Because to my knowlagde on related it needs another node to relate to ? ill go check out related at once.
The template for catch-all page gets the node with url /en/news + path eg /en/news/anything
And uses that node in place of "model" (dunno if you're XSLT or Razor)
So, you're rendering within the japan space... though you have to be careful to use the real Model to navigate to parents (for menus...) and the substitute Model to get the actual news item properties.
Lets say all our news are written under the EN node where the language of the node/hostname is set to English. So on this page all dictionary items is translated correct to english and its the correct navigation we are seeing.
On the JP node we have of course set the language of the node/hostname to Japanese so the users will see all the correct dictionary items. So when the user goes to the japanese news section they will be sent off to another language location where suddenly the menus/dictionary items are different.
And presto your solution Stephen has been implemented :)
on my "japanese"(in this case danish) site i have a node named "news" with a childnode called "link". On the link node is just a simple nodepicker thats pointing to which "news" we want to inherit from.
For handling the urls on the news ive done a urlrewrite like this :
To handle the url ive just done a good old string split like this :
Url = Url.Replace(Url.Split('/').Last(),"");
Url starts out as the this "/da/news/link.aspx". We remove "link.aspx" to make room for the actually news name in the url.
Then when we are building our actual url I just do this :
@(Url+ Item.Url.Split('/').Last())
On the actual newspage(Link.aspx) that is supposed to display the news I make a quick lambda expression to fetch the actual newsitem by looking up its url like this :
var NewsItem = News.First(c => c.NiceUrl == Url);
Where "News" is a List<DynamicNode> containing all newsposts from the EN site.
Is it possible to "mirror"/duplicate/display content to an area ?
Hey
This might have been answered a thousend times but i cannot find a good solution to this. Instead of trying to explain the issue ill write the scenario where we need it.
-----------
We are soon going to launch a medium-large site with about 10-14 languages upon, variying from US to Japanese.
But the site is only going to contain news in english, but displayed on all languages, and this is the issue.
The structure is like this ATM :
---------------------------
-- EN
-- -- News
-- -- -- Awesome newsitem
-- -- -- Awesome newsitem about rockets
-- -- -- Awesome newsitem about
-- JP
-- -- News
---------------------------
So under the JP/News node the news from EN/News should live and work with urls and everything. The reason that we cannot just link to EN/News is that the JP visitors will suddenly see EN menus and such, so the news must be displayed upon the JP/News with the nodes being generated.
Help me obi one kanobi your my only hope :)
1) Can't you either put the news on a new langugage layer, which has a different URL, and then link to that language with a parameter of which country they came from?
http://news.example.com/news-1.aspx
2) Or, you can maybe use the related feature in Umbraco, however this might make duplicated content with Google..
Remember to use HREFlang if you do the second approach.
Hey Daniel :)
Thx for throwing a bone here.
1. Seperate Language layer
My question is can this be done ? Because i dont know of a feature where i can overrule the "language" set on nodes(hostnames!) trough either API or query param. Also the issue with this one is that the user is leaving their actual content space.
2. "Related"
DC is no problem, HREFlang and canonical is your savior here, but since ive never worked with related im a bit on rock bottom. Because to my knowlagde on related it needs another node to relate to ? ill go check out related at once.
1) I believe it can be done - however, i don't know what you mean about overruling?
Just to make sure I understand, you want both
To be valid urls and display the same news item, but the first one in an english culture (for menus, etc) and the second one in a japanese culture?
About "overruling", can you just try to change the current thread UI culture? I believe that's what's used internally for figuring out the culture.
Idea:
So, you're rendering within the japan space... though you have to be careful to use the real Model to navigate to parents (for menus...) and the substitute Model to get the actual news item properties.
Am I making sense?
Stephan
Arh sry :)
Ill try to explain,
Lets say all our news are written under the EN node where the language of the node/hostname is set to English. So on this page all dictionary items is translated correct to english and its the correct navigation we are seeing.
On the JP node we have of course set the language of the node/hostname to Japanese so the users will see all the correct dictionary items. So when the user goes to the japanese news section they will be sent off to another language location where suddenly the menus/dictionary items are different.
Hope you understand
Well, you can do it in two ways.
1) On the language layers, you can maybe collect the content with AJAX.
2) Send a querystring parameter with your news.example.com/?lang=en
- Which then dynamicly changes all the dictonary items, if it is possible :)
Hey Stephan :)
Its exactly what i want to do, and that seems like a workable solution.
Thx a ton, ill get right on a workable edition of it.
Also a big thx to you Daniel
Here is a similar topic which might help: http://our.umbraco.org/forum/core/general/21463-General-pages-with-multiple-websites
Jeroen
Thx Jeroen
@Rasmus: tell us whether it works!
Ill give it shout when i have a working copy
And presto your solution Stephen has been implemented :)
on my "japanese"(in this case danish) site i have a node named "news" with a childnode called "link". On the link node is just a simple nodepicker thats pointing to which "news" we want to inherit from.
For handling the urls on the news ive done a urlrewrite like this :
To handle the url ive just done a good old string split like this :
Url starts out as the this "/da/news/link.aspx". We remove "link.aspx" to make room for the actually news name in the url.
Then when we are building our actual url I just do this :
On the actual newspage(Link.aspx) that is supposed to display the news I make a quick lambda expression to fetch the actual newsitem by looking up its url like this :
Where "News" is a List<DynamicNode> containing all newsposts from the EN site.
THX to all who contributed.
is working on a reply...