1

我是 Drupal 和 Civicrm 的新手。我使用的 CMS 是 Drupal。我在 civicrm 导航菜单中删除了一些菜单项。我想恢复 civicrm 中的原始导航菜单。有一个选项,如管理->自定义数据和屏幕->导航菜单->添加菜单项。但这里的问题是新项目被添加为某个链接的子项。我想恢复所有导航菜单在安装后的样子。

4

2 回答 2

5

CiviCRM 菜单项都在 CiviCRM 数据库的 civicrm_navigation 表中。您应该能够使用以下方法重新填充它们(我从未批发过,但原理是一样的)。在对您的实时网站进行更改之前,您当然应该在您的网站副本上尝试此操作。

  1. 备份您的数据库。你会做一些严肃的事情,可能需要回滚。

  2. 查找安装 CiviCRM 时使用的查询。您可以在从第 18847 行开始的 sites/all/modules/civicrm/sql/civicrm_data.mysql 中找到它们(您将看到“INSERT INTO civicrm_navigation”的第一行)。通过插入 civicrm_navigation 的最后一个查询复制接下来的 500 多行。在 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 );

  3. 现在将其粘贴到文本编辑器中。您会注意到每一行都有“@domainID”。这些是指您安装的域。在大多数情况下,这将是“1”,但通过查看 civicrm_domain 并看到唯一的域是 ID 1 来确认。

  4. 执行查找和替换,将 @domainID 的所有实例替换为 1(或任何您的域 ID)。(在此过程中,您还会看到设置和使用的其他值;这些确保嵌套有效。)

  5. 现在,清空 civicrm_navigation 表,然后在 MySQL 中运行查询。这应该正确地填充表格。

  6. 最后,您需要 CiviCRM 来重建菜单缓存。访问http://yourdevsite.org/civicrm/menu/rebuild?reset=1来做到这一点。

  7. 假设这正常工作,请在您的生产站点上重复步骤 1-6。

于 2014-03-27T13:03:48.643 回答
0

CiviCRM 使用 Drupal CRM,因此您可能正在修改 Drupal 菜单项或特定菜单块的位置。

通过将默认主题更改为 Garland 或 Seven 之类的内容进行测试

([sitename]/admin/appearance) 

并更改导航(或其他)菜单块的区域

([sitename]/admin/structure/block)
于 2014-03-27T00:20:43.940 回答