Breadcrumbs werden in zwischengespeicherten Sichten nicht hinzugefügt

8

in meinen Layouts default.ctp habe ich

%Vor%

In einer Ansicht namens rules.cpt habe ich

%Vor%

Beim ersten Öffnen der (nicht zwischengespeicherten) Ansicht werden die Brotkrumen nach Wunsch gerendert. Bei jedem weiteren (zwischengespeicherten) Rendering wird nur Home angezeigt.

Beim Entfernen des Cachings vom Controller

%Vor%

alles funktioniert.

Warum wird addCrumb() nicht aufgerufen? Ich habe getestet, <?php echo time(); ?> zu demselben nocache -Block hinzuzufügen, der funktioniert (d. H. Wird bei jedem Seitenrendering aufgerufen).

    
Gundon 11.02.2013, 23:52
quelle

1 Antwort

2

Die Quelle des Problems scheint die Reihenfolge der getätigten Anrufe zu sein.

In meiner ursprünglichen Version wurde <?php echo $this->Html->getCrumbs(' / ', 'Home'); ?> vor <?php $this->Html->addCrumb('Rules', '/rules'); ?> aufgerufen, was gut funktioniert, solange die Ansichten nicht zwischengespeichert werden.

Sobald sie nur im Cache zwischengespeichert werden, wird addCrumb vor getCrumbs .

genannt

Das beantwortet meine Frage nur zum Teil. Da getCrumbs in meinen Layouts .ctp verwendet wird, ist es nicht möglich, die Reihenfolge zu ändern.

Ich habe dies als Antwort und nicht als Hinweis auf meine Frage gepostet, damit niemand das Bounty für etwas bekommt, was ich schon in der Frage geschrieben habe;) Wenn Sie eine Lösung für das verbleibende Problem bereitstellen können oder wissen, ob dies der Fall ist ist ein Fehler in Cake, ich bin glücklich, Ihnen das Kopfgeld zu geben.

    
Gundon 17.02.2013, 21:34
quelle