我正在尝试在Cake php应用程序中使用Html Helper的breadcrumb功能来创建面包屑跟踪。我按照他们说的方式在手册上进行操作(一直滚动到底部看它),但我遇到的问题是,当通过Ajax加载视图时(通过使用jquery的.load()函数)例如),我的面包屑没有显示。我把它放在我看来:
<?php echo $this->Html->addCrumb('Users', '/users'); ?>
这在我的布局中:
<?php echo $this->Html->getCrumbs(' >> ', 'Home'); ?>
但没有显示任何内容。当视图没有通过Ajax加载时,一切都很好。有人可以告诉我为什么会这样吗?
谢谢
答案 0 :(得分:0)
您可以再次在视图中输出面包屑,隐藏,然后在.load()
将它们附加到布局中的面包屑后。否则你将无法做到。如果您使用load()
注入内容,“布局”面包屑已经呈现并且不会再次呈现。
一些示例代码可以让您了解我是如何做到的:
// layout
echo '<div class="crumbs">' . $this->Html->getCrumbs() . '</div>';
echo '<div class="content"><!-- AJAX content goes here--></div>';
// view
$this->Html->addCrumb('My Page');
echo '<div class="hiddenCrumbTrail">' . $this->Html->getCrumbs() . '</div>';
echo 'Here is my page content';
// js
$(function() {
$('.content').load('/controller/action'); // load content
$('.crumbs').empty(); // remove existing
$('.crumbs').append($('.hiddenCrumbTrail')); // append with updated
});