【问题标题】:extending the apostrophe-blog module: template not found扩展撇号博客模块:找不到模板
【发布时间】:2018-03-12 23:04:52
【问题描述】:

尝试在我的 Apostrophe 实例上遵循 creating multiple blogs 的建议流程,通过扩展 apostrophe-blog 创建新模块。我认为我正在做扩展权:我在lib/modules 中有staff-faculty-blog,在app.js 中配置了所有三个,我的应用程序运行。我去使用类型添加一个新页面,并给出template not found: pages/staff-faculty-blog-page.html

我的问题是,我做错了什么?妈。我不太明白它为什么要搜索该名称而不是 apostrophe-blog 的工作原理——它使用索引和显示文件。起初我将视图复制到staff-faculty-blog-pages,然后没有用,所以我把它们拿出来了。还是不行。

这里有一些代码:

//staff-faculty-blog/index.js

module.exports = {
    name: 'staff-faculty-blog',
    alias: 'staff-faculty-blog',
    label: 'Article',
    extend: 'apostrophe-blog',
};
//staff-faculty-blog-pages/index.js
module.exports = {
    name: 'staff-faculty-blog-page',
    label: 'Staff & Faculty Blog',
    extend: 'apostrophe-blog-pages'
};
//staff-faculty-blog-widgets/index.js    

module.exports = {
  label: 'Blog Widget',
  extend: 'apostrophe-blog-widgets'
};
//app.js
var path = require('path');

var apos = require('apostrophe')({
  shortName: 'fun-with-apostrophe',
  bundles: ['apostrophe-blog'],
  modules: {
    'apostrophe-pieces-import': {},
    'apostrophe-blog': { contextual: true },
    'apostrophe-blog-pages': {},
    'apostrophe-blog-widgets': {},
    'staff-faculty-blog': { contextual: true },
    'staff-faculty-blog-pages': {},
    'staff-faculty-blog-widgets': {},
    'apostrophe-templates': { viewsFolderFallback: path.join(__dirname, 'views') },
    'apostrophe-pages': {
      filters: {
        ancestors: {
          children: {
            depth: 2
          }
        },
        children: true
      },
      types: [
        {
          name: 'default',
          label: 'Default'
        },
        {
          name: 'apostrophe-blog-page',
            label: 'Blog'
        },
        {
          name: 'staff-faculty-blog-page',
          label: 'Staff & Faculty Blog page'
        },
        {
          name: 'home',
          label: 'Home'
        },
      ]
    },
    'apostrophe-workflow': { alias: 'workflow' }
  }
});

【问题讨论】:

    标签: javascript apostrophe-cms


    【解决方案1】:

    在配置new-blog-module-pages时需要使用name选项,并将其设置为new-blog-module-page,这样就不会只尝试使用apostrophe-blog-page了。

    name 指定 Apostrophe 数据库中索引页的type 属性将是什么。

    如果 Apostrophe 能推断出这个就好了。

    【讨论】:

    • ohhhh 这就是你说的那个部分的意思。好的,我会这样做的。
    • 嗯,好吧,我还是很困惑。索引中的name 是否与app.js 配置中的name 不同?因为我已经给它起了一个新名字。我是否正确扩展了这些?
    • 实际上,您的示例不匹配。你有 new-module-blog-pages 作为一个文件夹,而不是 app.js 中的 staff-faculty-blog-pages。
    • 是的,我实际上在这里写得很混乱。所有名称均正确:模块名称为staff-faculty-blog
    • 我想你最好分享一个沙盒项目来演示这个问题,这样我们就可以谈论苹果和苹果(:
    猜你喜欢
    • 1970-01-01
    • 2017-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-10
    • 1970-01-01
    • 1970-01-01
    • 2021-06-25
    相关资源
    最近更新 更多