首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在civicrm中恢复导航菜单

在civicrm中恢复导航菜单
EN

Stack Overflow用户
提问于 2014-03-26 06:40:42
回答 2查看 1.1K关注 0票数 1

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-27 13:03:48

CiviCRM菜单项都在CiviCRM数据库的civicrm_navigation表中。您应该能够使用以下方法重新填充它们(我从未大规模地进行过,但原则是相同的)。当然,您应该在您的网站副本上尝试这一点,然后再对您的现场站点进行更改。

  1. 备份你的数据库。你会做一些严肃的事情,可能需要退回去。
  2. 查找安装CiviCRM时使用的查询。您将在sites/all/modules/civicrm/sql/civicrm_data.mysql中从第18847行开始找到它们(您将看到“插入到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。
票数 5
EN

Stack Overflow用户

发布于 2014-03-27 00:20:43

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

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

代码语言:javascript
复制
([sitename]/admin/appearance) 

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

代码语言:javascript
复制
([sitename]/admin/structure/block)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22653365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档