View Issue Details

IDProjectCategoryView StatusLast Update
0003657Composrcorepublic2018-08-05 20:38
ReporterChris GrahamAssigned To 
Severityfeature 
Status non-assignedResolutionopen 
Product Version 
Fixed in Version 
Summary0003657: 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

Relationships

related to 0003662 non-assigned Allow main_multi_content block to select by tag 

Activities

Chris Graham

2018-08-05 14:19

administrator   ~0005786

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.

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 0003662
2018-08-05 14:19 Chris Graham Note Added: 0005786