我最近安装了Panels模块。它允许我为我的内容创建自定义布局。现在,我想要做的是,在创建/编辑某种类型的组件时选择这些模板布局,以便在查看时内容出现在所选布局中。
希望我明白自己。如果已经讨论过这个话题,请原谅。如果是这样,给我提供帖子的链接将非常有用。实际上我在Drupal中是一个新手,在Panles模块中更是如此。所以不确定我的要求是否可行。提前致谢...
答案 0 :(得分:0)
您可以通过在内容类型中添加字段来执行此操作,例如类型列表(文本)>选择列表。每个列表项都代表一个Panels显示。
然后创建一个Panel显示变体来覆盖节点模板(/ node /%node),您必须在其中添加选择规则:“您的列表(文本)字段”。因此,如果用户选择连接列表选项,则会显示每个变体。
如果您想在不单击“保存”按钮的情况下在线查看所选显示,则可能需要ajax效果。
答案 1 :(得分:0)
在这里理解你的问题我会尝试将其分解。为了使用面板布局进行节点添加/编辑,您可以选择在/ admin / structure / panels下创建布局
然后您创建一个新变体。在变体的[context]选项卡中,您将添加上下文规则“Node add form”,不必担心编辑表单方面。节点添加表单将覆盖编辑表单,而附加的上下文规则将针对特定节点。然后,您可以自定义布局并添加内容选项卡中的所有表单域。不要忘记添加节点提交按钮。现在,在您创建了多个变体之后,您可以根据需要启用,禁用和排序它们,其中包含节点类型的特定布局。
面板布局会根据您的喜好对其进行排序。如果要从非管理主题角度控制主题,可以通过取消选中“在编辑或创建内容时使用管理主题”或通过创建模块来定位特定节点类型来禁用/ admin / appearance中的常规管理主题表单并拥有:
<?php
/**
* @file
*/
/**
* Implements hook_admin_paths_alter().
*/
function disable_admin_theme_paths_alter(&$paths) {
$paths['/node/add/node-type-name-here'] = FALSE;
}
假设您的模块名称为disable_admin_theme。