View Issue Details

IDProjectCategoryView StatusLast Update
0000035Composrcorepublic2014-05-26 12:33
ReporterChris GrahamAssigned ToChris Graham 
PrioritynormalSeverityfeatureReproducibilityN/A
Status resolvedResolutionfixed 
Product Version 
Target VersionFixed in Version 
Summary0000035: 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

Relationships

related to 0000131 resolvedChris Graham Unified top/recent system 
related to 0000130 non-assigned Foolproof content embedding 
related to 0000129 resolvedChris Graham Improve usage of main_multi_content block 

Activities

Chris Graham

2010-10-30 21:07

administrator   ~0000091

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