View Issue Details

IDProjectCategoryView StatusLast Update
3657Composrcorepublic2021-03-15 17:23
ReporterChris Graham Assigned ToGuest  
PrioritynormalSeverityfeature 
Status newResolutionopen 
Summary3657: Breadcrumb takeover
DescriptionComposr is a module-orientated CMS, meaning each module (galleries, news, etc) is a world of its own, with its own breadcrumb hierarchy. We want webmasters to be able to more easily override the native module-based breadcrumbs. Currently you need to use breadcrumbs.xml individually for any screen you're changing the breadcrumbs, which is not realistic for scenarios involving large numbers of CMS-generated screens (entries, categories).

Have a new directive that can specify that a page-link is 'taking over parenthood' of certain other page-links.

For example:

{+START,BREADCRUMB_TAKEOVER,site:catalogues:entry:3}
    site:galleries:image:5
    site:galleries:image:6
    site:galleries:image:7
{+END}

The data would be stored into a new database table, breadcrumb_takeover:
*ID_TEXT pagelink_parent
*ID_TEXT pagelink_child
LONG_TEXT breadcrumbs

The table would only be maintained if the URL of the screen being viewed matched the page-link given as the first directive to the parameter. This is so we know the active breadcrumbs are going to be what we need to save into the table.

This table would be queried on any screen view. If there's a match, the natural breadcrumbs for that screen would be replaced with those defined in the new table.

Through this directive we make changing of breadcrumbs between screens a templating issues. In the given example as soon as a catalogue entry responsible for certain gallery images is viewed, when those gallery images are viewed (however they're reached - which is critical - because it could be via the XML Sitemap), the breadcrumbs will show under that catalogue entry.

In the real world we're unlikely to hard-code in the templates exactly what page-links are associating. Instead we'd use Tempcode to work them out based on some kind of metadata coded into the content model.

This new feature would be optional. You'd have to enable it in the configuration, as there is a performance hit.

Document it where we document breadcrumbs and about Composr being a 'module based CMS'.
TagsNo tags attached.
Attach Tags
Time estimation (hours)4
Sponsorship open0

Sponsor

Date Added Member Amount Sponsored

Relationships

related to 1162 Not AssignedGuest Automated virtual roots (based on modules running out of zones) 
related to 3662 Not AssignedGuest Allow main_multi_content block to select by tag 

Activities

Chris Graham

2018-08-05 14:19

administrator   ~5786

Perhaps also have a symbol which can get a list of all content with a certain tag and of a certain content type.

E.g.

{$FIND_CONTENT_BY_TAG,news,pentatonix}

That way we can automatically takeover breadcrumbs just by linking stuff using tags.

Add Note

View Status
Note
Upload Files
Maximum size: 32,768 KiB

Attach files by dragging & dropping, selecting or pasting them.
You are not logged in You are not logged in. This means you will not get any e-mail notifications. And if you reply, we will not know for sure you are the original poster of the issue.

Issue History

Date Modified Username Field Change
2018-08-04 22:16 Chris Graham New Issue
2018-08-05 14:18 Chris Graham Relationship added related to 3662
2018-08-05 14:19 Chris Graham Note Added: 0005786
2021-03-15 17:23 Chris Graham Relationship added related to 1162