如何在 Drupal 中导入视图?

Posted

技术标签:

【中文标题】如何在 Drupal 中导入视图?【英文标题】:How to import a view in Drupal? 【发布时间】:2012-01-07 21:28:28 【问题描述】:

如何将视图导入 Drupal。我有一个导出视图,需要在不同的 Drupal 安装中导入。我在管理/结构/视图中没有导入选项?

谢谢!

编辑:

我找到了解决方案。我必须以用户 1 身份登录才能获得此选项。

【问题讨论】:

你用什么导出视图?我也希望能够导出和导入视图。 您不必是用户 1,请参阅下文,了解您的管理员角色必须能够执行此操作的权限 【参考方案1】:

视图列表页面中有一个导入选项。只需将此 url 粘贴到您当前的 url 之后,您就会看到导入视图页面。通过查看您的标签,我假设您使用的是 Drupal 7,因此下面给出的网址仅适用于 Drupal 7。

下面是要添加的网址:

#overlay=admin/structure/views/import

【讨论】:

是的,但由于某种原因,此选项仅适用于 user/1 @perpetual_dream:你登录的身份并不重要,重要的是你登录的用户拥有Administer Views权限。 我刚刚用一个拥有Administer views 权限的用户测试了这个。获得了分页的主要视图(即它回退到admin/structure/views)尝试与user1一起使用它并且它有效。 至少对于 Views 7.x-3.3,根据views_import_access函数,你还需要“使用php进行设置”权限。 这很简单,只需在您的www.mysitename.com/ 上附加admin/structure/views/import 就可以了【参考方案2】:

对于 Drupal 6,您将使用:

/admin/build/views/import

【讨论】:

【参考方案3】:

用户 1 在您将所有权限检查设置为 true 时工作。

要为其他用户启用此功能,您需要启用 php 模块并确保您的用户具有“使用 PHP 进行设置”,这是一个只应提供给受信任用户的设置,因为它允许几乎任何东西在您的网站上完成。导入视图时会发生什么。欲了解更多信息,请参阅this thread。

【讨论】:

【参考方案4】:

对于D7,如果您不想使用用户#1,您可以启用“PHP过滤器”核心模块,然后赋予相关用户角色“使用PHP进行设置”权限。然后,具有此角色的用户将在视图管理页面上的“添加新视图”链接旁边看到一个“导入”链接。或者你可以直接在 /admin/structure/views/import 上进入导入页面

【讨论】:

【参考方案5】:

任何喜欢运行锁定站点的人都可能选择禁用用户 1(避免密码被猜到的风险)并禁用 PHP 模块(例如,站点策略是避免使用 PHP 输入过滤器)。

如果您愿意在自定义模块中编写 php 挂钩,您可以这样做(取自 php.module):

/**
 * Implements hook_permission().
 */
function XXX_permission() 
  if (!module_exists('php')) 
    return array(
      'use PHP for settings' => array(
        'title' => t('Use PHP for settings'),
        'restrict access' => TRUE,
      ),
    );
  

返回 $permissions;

【讨论】:

【参考方案6】:

我刚刚发现了发生这种情况的另一个原因 - 启用了 Paranoia 模块。如果启用,/admin/structure/views/import 将显示“您无权访问此页面”,即使您以 UID1 身份登录

酷模块。如果启用,您将不会在管理界面中看到它,即使您以 UID1 身份登录。您需要使用 drush dis paranoia 禁用它,或者在系统表中将其状态设置为 0。

【讨论】:

以上是关于如何在 Drupal 中导入视图?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Django 中导入用户模型并选择所有对象

如何在 pl/sql 中导入“导出用户对象”?

如何在数据库中导入excel文件内的数据

如何在 Golang 中导入本地包

如何在反应中导入 ipcRenderer?

java如何在指定目录中导入类