我会尝试更好地解释这个问题......我正在从优雅中创建一个子主题。我想通过某种UI将变量传递给我的主题。我是Drupal 8(以及Drupal dev)的新手,所以如果您需要更多信息,请告诉我。
对于记录我知道Drupal中的预处理功能但是我正在谈论的变量最初不会在那里设置......
例如......假设我从名为基本页面的内容类型创建一个新节点。我想要一种方法,当我创建一个新的基本页面,有选项,如“列数;字体系列;颜色方案;等”,我可以在每页基础上定义。然后......在我的主题中,我可以动态地查看为当前页面设置的值并相应地渲染它。我来自ColdFusion背景,包括request.page变量......所以这对我来说都是新的。
编辑:我意识到我只能在内容类型中添加字段,但有人告诉我,将字段添加到内容类型是元数据而不是内容类型的实际相关数据是一种不好的做法。感谢您提供任何帮助。
答案 0 :(得分:0)
我会查看Paragraphs模块。在UI中进行设计时,这将为您提供极大的灵活性。
Bootstrap Paragraphs捆绑包是另一个很好的选择,因为它带有预定义的段落(包括列,手风琴等)。您还可以轻松添加颜色方案,字体系列等字段,然后在模板中包装正确的类,您就可以了。
答案 1 :(得分:0)
另一个选项是Panelizer模块。比Paragraphs模块稍微复杂一点,但在Drupal 8中,由于页面本身的实时拖放功能,对用户更友好(对最终用户)。 Paragraphs在编辑表单上提供了拖放功能。
另一个选项是自定义模块,它定义config form。也许还会创建一个包含节点包(您的内容类型名称),键和值的字段类型。然后使用预处理挂钩获取此配置值并在模板中使用它。