in my Layouts default.ctp I have
<!--nocache--> <?php echo $this->Html->getCrumbs(' / ', 'Home'); ?> <!--/nocache-->
Inside a view called rules.cpt I have
<!--nocache--><?php $this->Html->addCrumb('Rules', '/rules'); ?><!--/nocache-->
When first opening the (uncached) view, the breadcrumbs are rendered as wished. With every additional (cached) rendering, only
Home is being displayed.
When removing the caching from the Controller
// public $cacheAction = array('home' => 120, 'rules' => 36000);
addCrumb() being called? I tested to add
<?php echo time(); ?> to the same
nocache-block which works (i.e. is called on every page rendering).
The issues source seems to be the order of the calls being made.
In my initial version
<?php echo $this->Html->getCrumbs(' / ', 'Home'); ?> was called before
<?php $this->Html->addCrumb('Rules', '/rules'); ?> what works fine as long as the views are not being cached.
As soon as they are cached in only works
addCrumb is being called before
This only partly answers my question. Because
getCrumbs is used in my layouts
.ctp it is not possible to change the order.
I posted this as answer and not as note on my question, so that nobody gets the bounty for something which I already wrote in the question 😉 If you can provide a solution to the remaining problem or know if this is a bug in Cake, I am happy to provide you with the bounty.