首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使Piranha CMS管理器编辑页面工作

无法使Piranha CMS管理器编辑页面工作
EN

Stack Overflow用户
提问于 2021-07-18 02:57:11
回答 2查看 176关注 0票数 1

我正在努力增加一个现有网站的博客功能,并认为Piranha可能是前进的道路。我补充如下:

csproj

代码语言:javascript
复制
<ItemGroup>
  <PackageReference Include="Piranha" Version="9.1.0" />
  <PackageReference Include="Piranha.AttributeBuilder" Version="9.1.0" />
  <PackageReference Include="Piranha.Data.EF.SQLServer" Version="9.1.0" />
  <PackageReference Include="Piranha.Data.EF.SQLite" Version="9.1.0" />
  <PackageReference Include="Piranha.ImageSharp" Version="9.1.0" />
  <PackageReference Include="Piranha.Local.FileStorage" Version="9.1.0" />
  <PackageReference Include="Piranha.AspNetCore" Version="9.1.0" />
  <PackageReference Include="Piranha.AspNetCore.Identity.SQLServer" Version="9.1.0" />
  <PackageReference Include="Piranha.AspNetCore.Identity.SQLite" Version="9.1.0" />
  <PackageReference Include="Piranha.Manager" Version="9.1.0" />
  <PackageReference Include="Piranha.Manager.TinyMCE" Version="9.1.0" />
</ItemGroup>  

Startup.cs

代码语言:javascript
复制
services.AddPiranha(options =>
{
    options.AddRazorRuntimeCompilation = true;

    options.UseFileStorage(naming: Piranha.Local.FileStorageNaming.UniqueFolderNames);
    options.UseImageSharp();
    options.UseManager();
    options.UseTinyMCE();
    options.UseMemoryCache();


    options.UseEF<SQLiteDb>(db =>
        db.UseSqlite("Filename=./piranha.mvcweb.db"));
    options.UseIdentityWithSeed<IdentitySQLiteDb>(db =>
        db.UseSqlite("Filename=./piranha.mvcweb.db"));
});

...

App.Init(api);
App.CacheLevel = Piranha.Cache.CacheLevel.Full;

new ContentTypeBuilder(api)
    .AddAssembly(typeof(Startup).Assembly)
    .Build()
    .DeleteOrphans();

Seed.RunAsync(api).GetAwaiter().GetResult();

Piranha.Manager.Editor.EditorConfig.FromFile("editorconfig.json");

app.UsePiranha(options => {
    options.UseManager();
    options.UseTinyMCE();
    options.UseIdentity();
});

我还复制了示例MVC应用程序项目中的所有视图、模型、配置文件、控制器和静态资产,并将它们包括在内。

当我运行程序时,它加载示例主页,当我转到/manager时,它允许我使用默认凭据登录。我可以看到默认页面是创建的。但是,当我尝试编辑页面时,设计器从不加载。相反,当我检查铬页面时,我会看到一个错误,上面写着:

"TypeError: Cannot read property 'filename' of undefined"

我附上了一个屏幕截图,显示到那个点的负载和错误发生的地方。任何帮助,以达到这一点的根源,将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-07-21 16:44:27

我能够通过删除对services.AddMvc()的调用来解决这个问题,这个调用是我在services.AddPiranha()启动后进行的。看起来,AddPiranha是为您做这件事的,而插入AddMvc会导致事情变得一团糟。

票数 0
EN

Stack Overflow用户

发布于 2021-07-20 11:07:05

filename属性很可能是测试页上图像块或其他媒体引用的一部分。我的猜测是,当您复制数据并且页面上的引用被破坏时,媒体资产没有被正确创建。

尝试创建一个新页面,看看编辑器是否应该加载,然后删除测试页面并创建自己的内容。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68425642

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档