0

我一直在想办法重新排序我们拥有的菜单,以便按字母顺序排列。这个菜单有大约 500 项,严格用于 URL 结构,但我们还有另一个显示菜单将使用 MenuLinks,我们必须从后端的下拉列表中选择所有这些,而且很难弄清楚。我一直在尝试创建一个可以执行此操作但无济于事的 mysql 查询。

沿着

UPDATE jos_menu set ordering = ordering+1 WHERE menutype = 'menu-name' ORDER BY name ASC

但当然它不起作用。只是好奇是否有人知道这一点。

也许如果我操纵管理员显示下拉菜单(在编辑菜单项时)按字母顺序显示,这对于 0 级项目但不是它的子项。

4

1 回答 1

0

您可以尝试的一种方法是:

  • 使用 PHPMyadmin 复制表结构
  • 从 oldtable 插入 newtable,其中 menutype='menu-name'
  • 删除自动编号主键
  • 将自动编号设置为 0
  • 按名称对表进行物理排序(
  • 按菜单类型对表格重新排序(ALTER TABLE foo ORDER BY key;)
  • 重新添加自动编号主键
  • 更新新表,设置 ordering=menu_id
  • 重新插入旧表

HTH,约臣

于 2011-03-25T06:41:29.410 回答