2013-02-11 10 views
8

मेरी लेआउट default.ctp मैंब्रेडक्रंब कैश्ड विचारों

<!--nocache--> 
    <?php echo $this->Html->getCrumbs('/', 'Home'); ?> 
<!--/nocache--> 

एक दृश्य कहा rules.cpt अंदर है पर आप नहीं जोड़े जाते मैं

<!--nocache--><?php $this->Html->addCrumb('Rules', '/rules'); ?><!--/nocache--> 

है जब पहली बार (uncached) दृश्य खोलकर, ब्रेडक्रंब की इच्छा के रूप में प्रस्तुत किया जाता है। प्रत्येक अतिरिक्त (कैश) प्रतिपादन के साथ, केवल Home प्रदर्शित किया जा रहा है।

जब नियंत्रक

// public $cacheAction = array('home' => 120, 'rules' => 36000); 

सब कुछ काम करता है से कैशिंग को हटाने।

addCrumb() क्यों नहीं कहा जा रहा है? मैंने <?php echo time(); ?> को उसी nocache -block में जोड़ने के लिए परीक्षण किया है (यानी प्रत्येक पृष्ठ प्रतिपादन पर कॉल किया जाता है)।

+1

केकफ़्पी का कौन सा संस्करण आप उपयोग कर रहे हैं? – MarcDefiant

+0

v2.3 - संकेत के लिए धन्यवाद। मैंने संस्करण-जानकारी – Gundon

+1

के बारे में एक लेबल जोड़ा जो crumbs को पहली जगह कैशिंग के बाहर क्यों होना चाहिए? आप साइट को कैश करते हैं, इसलिए साइट के लिंक भी कैचबल होने चाहिए क्योंकि वे नहीं बदलते हैं। – mark

उत्तर

2

समस्या स्रोत कॉल किए जाने का आदेश प्रतीत होता है।

मेरे शुरुआती संस्करण <?php echo $this->Html->getCrumbs('/', 'Home'); ?> को <?php $this->Html->addCrumb('Rules', '/rules'); ?> से पहले बुलाया गया था जब तक विचारों को कैश नहीं किया जा रहा है।

जैसे ही वे में कैश कर रहे हैं केवल addCrumbgetCrumbs से पहले बुलाया जा रहा है काम करता है।

यह केवल मेरे प्रश्न का आंशिक रूप से जवाब देता है। क्योंकि getCrumbs मेरे लेआउट .ctp में उपयोग किया जाता है, ऑर्डर को बदलना संभव नहीं है।

मैंने इसे उत्तर के रूप में पोस्ट किया है और मेरे प्रश्न पर ध्यान नहीं दिया है, ताकि कोई भी इस प्रश्न में पहले से लिखे गए किसी चीज़ के लिए बक्षीस न हो;) यदि आप शेष समस्या का समाधान प्रदान कर सकते हैं या जानते हैं कि यह है या नहीं केक में एक बग, मैं आपको बक्षीस प्रदान करने में प्रसन्न हूं।

संबंधित मुद्दे