Hi,
I'm about to redevelop a website that will have a common structure (example at end) but what is, I think, a complex IA requirement. I would be grateful for any thoughts on what might be the best way to approach this using MODX.
I'm sorry in advance if this isn't clear - it does my head in as well but any help would be appreciated. I'm open to using any of MIGX, Taxonomies, Collections, GetResources, SimpleSearch, url rewriting or other options, and I can pay someone to help me work on this if a suitable solution can be found.
So... I would like to create what is essentially a regionalised site, but with the ability to aggregate content belonging to another region (or tag) into the currently viewed one, while keeping the current region in the url, and without having to duplicate content across regions.
I built the current version of the site using MODX Revo and AdvSearch faceted search and/or GetResources to create filters that can aggregate and display content based on one or more tags (e.g. article name, region, market, year) and keywords. It works really well, but the site is currently a combined region, so the resources are all displayed under the one 'master' url anyway (e.g. mysite.com/news/article1). In the new version, I would like to be able to navigate within one region, e.g. mysite.com/canada/news/ or mysite.com/asia/news/ and see only that regions news, but then by using a filter, select 'All Regions', or 'Asia' or 'Canada', to have the resources that have been tagged as such aggregated into the current regions news page, and then the article displayed under the current regions url.
The difficulty I see is in keeping users in the current region (whether regions are contexts or subfolders). Because although I know I can aggregate Asia news to display (summaries using TVs) within the Canada region, when a user clicks on that summary, they will be taken to that resource and the url will then change to reflect where that resource actually is in the tree - so if I'm in the Canada region but use the filter to view Asia news, then I'll jump from viewing summaries of Asia news at mysite.com/canada/news/ to mysite.com/asia/news/article5 (assuming the doc tree is set up as below) - but I would actually like to view the article at mysite.com/canada/news/article5.
I hope i haven't lost you, and any feedback would be appreciated.
The basic MODX resource tree would be:
Home
All Regions
- Projects (all projects alphabetical)
- News (all news chronological)
Canada
- Projects
- - project1
- - project2
- News
- - article1
- - article2
U.S.A
- Projects
- - project3
- - project4
- News
- - article3
- - article4
Asia
- Projects
- - project5
- - project6
- News
- - article5
- - article6
The only thing that comes to mind is JavaScript that is activated by clicking on the button that selects another region's news. The JS would make an Ajax request to a processor that pulls the news content out of the other resource(s) and returns it to be displayed on the current page by the JS "success" code.
One challenge I see is making sure the user knows where they are and how to navigate around the site, since pulling in the other area's news may give them the feeling of having "navigated" somewhere when they really haven't moved.
I wouldn't put the news and projects as resources into the resource-tree, but into custom-tables and have field 'region_id' with the resource-id of the region, the news or project belongs to. You could have a CMP to manage them and also a MIGXdb-TV to manage only region-specific articles.
Then you can list filtered news or projects everywhere.
Have only one news-Detail-Page and projects-Detail-Page within each region, where you ahow the requested article.
you will need little custom-coding to generate the urls and a plugin, which redirects to the correct Detail-Pages.