我有两个模型:
Book
Category
我有两种看法:
books/browse
在这个视图中有分页的书籍列表,带有排序选项、书籍语言选择、作者/标题过滤器等。有一件事没有 - 书籍类别树。事实上,该控制器将 category_id 作为参数,并仅显示该类别中的书籍。
categories/tree
此视图(控制器)找到类别树,它需要一个参数 -> category_id -> 来确定如何打印树(以显示所有父节点和父列表等)。
现在我需要一个视图(例如浏览树),其中左侧有类别树,右侧有书籍列表(包含所有内容)。
实现这一目标的最佳解决方案是什么?(问题还在于我希望能够使用所有参数(category_id 参数 + 排序 + 一些用于过滤的 GET 参数)保存书籍浏览视图的链接,而且我也不想重写任何视图或控制器方法。 .
- - - - - - - 编辑
好的,我在元素 categorytree 中有我的树,它看起来像这样:
$params = $this->requestAction('/categories/tree/'.$category_id);
print_category($params['tree'][0],$params['parents'],$category_id);
$category_id 作为参数传递给元素。这是在 /books/browse 里面:
<?php echo $this->element('categorytree', array("category_id" => $category_id)); ?>
我需要的是,在 categorytree 元素中,我希望每个树节点都是 /books/browse 的有效链接,该链接基于从中加载书籍/浏览的当前 url。我的意思是网址可能是:
books/browse/34/sort:asc/page:4?author=Author&something=something
我可以在 /books/browse/... 视图中获取此链接并将其传递给元素,然后对其进行解析以将 /34/ (它的类别 ID)替换为其他类别...但是有没有更简单/更优雅的方式这样做?