0

我正在尝试在 Cake php 应用程序中使用Html Helper的面包屑功能来创建面包屑轨迹。我按照他们在手册上所说的方式进行操作(一直滚动到底部以查看它),但我面临的问题是,当通过 Ajax 加载视图时(通过使用 jquery 的 .load() 函数例如),我的面包屑没有显示。我认为这是:

<?php echo $this->Html->addCrumb('Users', '/users'); ?>

这在我的布局中:

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

但什么都没有显示。当视图不是通过 Ajax 加载时,一切都很好。谁能告诉我为什么会这样?

谢谢

4

1 回答 1

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
});
于 2013-02-16T09:23:10.613 回答