有没有人知道是否有可能以及如何从ExpressionEngine的后端(控制面板)限制子类别的深度?
这个想法是允许某人从控制面板添加他们自己的类别层次结构,但是将它们限制为4个子类别,例如:
全部> 5星>娱乐>电影>动画
但不是这样:
全部> 5星>娱乐>电影>动画> 3D
这只是一个例子。
非常感谢任何帮助。
答案 0 :(得分:0)
不,除非您编写自己的扩展程序以进入EE常规显示挂钩(类别添加/编辑/列表没有任何挂钩)。
最简单的方法是使用CP CSS JS附加组件并编写自己的JS代码,以防止选择太深。
定位类似$(".category_field select#parent_id")
的内容,如果类别父选择有32个空格(4x8) Array(33).join(" ")
,则不允许选择并向上移动option
直到找到选项(类别为父级) )空间较少(即不太深)。
这可能有用(未经测试)......
$(".category_field select#parent_id").change( function() {
var $selected = $(this).children("option:selected")
if ($selected.text().indexOf( Array(33).join(" ") ) >= 0) {
// Too deep
$selected.prevAll().each(function(){
if ($(this).text().indexOf( Array(33).join(" ") ) < 0 ) {
$(this).parent().children('option:selected').removeProp('selected');
$(this).prop('selected', true);
return;
}
});
}
});