在Drupal 7中,我在视图中公开了一个分类法过滤器,其中包含4个层次结构上的30k元素,它需要花费大约4-7分钟的时间来加载。
我将它们公开为一个具有层次结构的列表,因此我尝试使用hook_form_alter来隐藏没有关联节点的分类法元素,但这是无用的,因为我不希望它们在一开始就加载。
因此,我使用过滤器尝试了“层次选择”和“简单分层选择”,但仍然需要4-7分钟才能加载页面,因为它无论如何都会加载表单数组中的所有元素。
出于好奇,我用php打印了整个词汇表(没有Drupal函数),花了大约5秒的时间,为什么Drupal这么慢?
我搜索的另一个钩子可以不加载不想要的选项没有给我带来任何东西,我还能尝试什么?
发布于 2016-12-19 13:25:36
我找到了一个解决方案:我将过滤器公开为一个自动完成的,为了区别级别,我在hook_menu中覆盖了响应的默认页面
首先,取消设置默认页面unset($items'admin/views/ajax/autocomplete/taxonomy/%/%');
然后用我的自定义函数重新创建,其中返回带有自定义标签的值键的json。
https://stackoverflow.com/questions/40997231
复制相似问题