我是Drupal和Civicrm的新手。我使用的CMS是Drupal.I已删除了civicrm导航菜单中的一些菜单项。 我想恢复civicrm中的原始导航菜单。有一个选项,如管理 - >自定义数据和屏幕 - >导航菜单 - >添加菜单项。但这里的问题是新项目被添加为某个链接的子项。我想在安装后以其存在的方式恢复所有导航菜单。
答案 0 :(得分:4)
CiviCRM菜单项都在CiviCRM数据库的civicrm_navigation表中。您应该能够使用以下方法重新填充它们(我从未批发过,但原理是相同的)。在对您的实际网站进行更改之前,您当然应该在您的网站副本上尝试此操作。
备份数据库。你会做一些严肃的事情,可能需要回滚。
查找安装CiviCRM时使用的查询。您可以在18847行左右的sites / all / modules / civicrm / sql / civicrm_data.mysql中找到它们(您将看到“INSERT INTO civicrm_navigation”的第一行)。将下一个500行复制到插入civicrm_navigation的最后一个查询中。在4.4.4中,应该是
INSERT INTO civicrm_navigation
( domain_id, url, label, name, permission, permission_operator, parent_id, is_active, has_separator, weight )
VALUES
( @domainID, 'civicrm/report/list&reset=1', 'All Reports', 'All Reports', 'access CiviReport', '', @reportlastID, '1', 1, 10 );
现在将其粘贴到文本编辑器中。您会注意到每行都有“@domainID”。这些是指您安装的域。在大多数情况下,这将是“1”,但通过查看civicrm_domain并确定唯一的域是ID 1来确认。
执行查找和替换,将所有@domainID实例替换为1(或者您的域ID是什么)。 (您还将看到设置和使用的其他值;这些确保嵌套有效。)
现在,清空civicrm_navigation表,然后在MySQL中运行查询。这应该适当地填充表格。
最后,您需要CiviCRM来重建菜单缓存。访问http://yourdevsite.org/civicrm/menu/rebuild?reset=1即可。
假设此操作正常,请在生产站点上重复步骤1-6。
答案 1 :(得分:0)
CiviCRM使用Drupal CRM,因此您可能正在修改Drupal菜单项或特定菜单块的位置。
通过将默认主题更改为Garland或Seven
来进行测试([sitename]/admin/appearance)
并更改导航(或其他)菜单栏的区域
([sitename]/admin/structure/block)