如何在 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 中导入视图?的主要内容,如果未能解决你的问题,请参考以下文章