dede 5.7后台移动栏目,下拉列表显示不全的问题


想移动子栏目到其他栏目下,点其后的“移动”,打开的页面里”你希望移动到那个栏目?“后的下拉列表里只列出了几项,而且里面没有我要移动的目标栏目。   解决方法:   找到dede的后台目录:默认”dede“,打开”
catalog_do.php“文件,大约327行:

  1. $typeOptions = $tl->GetOptionArray(0,0,$channelid);

将其改为:

  1. $typeOptions = $tl->GetOptionArray(0,0,0);

刷新后,栏目全部列出来了。   参考: GetOptionArray()函数在TypeLink.class.php里定义,作用是:获得类别列表 函数代码如下: //hid 是指默认选中类目,0 表示“请选择类目”或“不限类目”  //oper 是用户允许管理的类目,0 表示所有类目  //channeltype 是指类目的内容类型,0 表示不限频道 

  1. function GetOptionArray($hid=0,$oper=0,$channeltype=0,$usersg=0)
  2. {
  3. return $this->GetOptionList($hid,$oper,$channeltype,$usersg);
  4. }
  5. function GetOptionList($hid=0,$oper=0,$channeltype=0,$usersg=0)
  6. {
  7. return $this->OptionArrayList;
  8. }
  9. //+ 为下级类目递归加上 ‘-‘
  10. function LogicGetOptionArray($id, $step, $oper=0)
  11. {
  12. }

———————————————————————————————————— 另外还可以用sql语句直接修改:

  1. Update `dede_arctype` set reid=’目标父栏目ID’ where id in(2,3,4,5)

在系统SQL命令行工具中执行