View Issue Details

IDProjectCategoryView StatusLast Update
35Composrcorepublic2014-05-26 12:33
ReporterChris Graham Assigned ToChris Graham  
PrioritynormalSeverityfeature 
Status resolvedResolutionfixed 
Summary35: Full breadcrumb customisation on frontend, via XML
DescriptionRe-architect Composr breadcrumbs to go through hooks (probably by extending content_meta_aware hooks), so a screen loads up breadcrumbs via calling up a hook. Then put a layer of XML configuration that can "mash up" the breadcrumb services the collection of hooks can do.

See 'Additional Information' for an example XML file used to set things.

This needs documenting, and probably needs an editing interface (simple textarea, although we may syntax highlight it). If we give it an editing interface we should give fields.xml one also.
Additional Information<breadcrumbs>
   <!-- Default -->
   <chain for="download">
      <segment type="natural_category_tree" />
   </chain>

   <!-- Default -->
   <chain for="download_category">
      <segment type="natural_category_tree" />
   </chain>

   <!-- Custom example -->
   <chain for="download" id="3">
      <segment type="own_category_tree" />
      <segment type="category_tree" context_type="galleries">ships</segment>
   </chain>

   <!-- Custom example -->
   <chain for="gallery" id="missions">
      <segment type="page_link">site:ships</segment>
      <segment type="page_link">site:start</segment>
   </chain>
</breadcrumbs>


<breadcrumbs>
   <chain for="download" id="5">
      <segment type="page_link">site:stonline_downloads</segment>
   </chain>

   <chain for="comcode_page" id="stonline_downloads">
      <segment type="page_link">site:stonline</segment>
   </chain>

   <chain for="comcode_page" id="stonline">
      <segment type="page_link">site:start</segment>
   </chain>
</breadcrumbs>


<breadcrumbs>
   <chain for="download" id="5">
      <segment standalone="1" type="page_link">site:stonline_downloads</segment>
      <segment type="page_link">site:stonline</segment>
      <segment type="page_link">site:start</segment>
   </chain>

   <chain for="comcode_page" id="stonline_downloads">
      <segment type="page_link">site:stonline</segment>
   </chain>

   <chain for="comcode_page" id="stonline">
      <segment type="page_link">site:start</segment>
   </chain>
</breadcrumbs>


<breadcrumbs>
   <chain for="download_category" id="23">
      <segment type="page_link">site:stonline</segment>
   </chain>

   <chain for="comcode_page" id="stonline">
      <segment type="page_link">site:start</segment>
   </chain>
</breadcrumbs>
TagsRisk: Core rearchitecting , Risk: Major rearchitecting , Skills: Lead programming , Type: Cross-cutting feature
Attach Tags
Time estimation (hours)10
Sponsorship open

Sponsor

Date Added Member Amount Sponsored

Relationships

related to 131 ResolvedChris Graham Unified top/recent system 
related to 130 ResolvedChris Graham Foolproof content embedding 
related to 129 ResolvedChris Graham Improve usage of main_multi_content block 

Activities

Chris Graham

2010-10-30 21:07

administrator   ~91

Implemented, in a simplified way. No hooks were required. There's no need for natural chain insertion as you can simplify define your substitutions lower down and if you need to define things descending from natural chains then you can just hard-code them in as required.

Issue History

Date Modified Username Field Change
2016-06-08 00:14 Chris Graham Tag Renamed Major rearchitecting => Risk: Major rearchitecting
2016-06-08 00:15 Chris Graham Tag Renamed Core rearchitecting => Risk: Core rearchitecting