问题标签 [kirby]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
193 浏览

php - Kirby CMS/php:检查文件类型以应用不同的标记?

使用 Kirby CMS,我试图提取页面的所有文件并对图像和视频应用不同的标记。在 Kirby 中,有 $file->type() 命令,我想我必须在 if 语句中使用它才能区分文件,但我当前的代码不起作用。我尝试的是这样的:

我究竟做错了什么?

0 投票
0 回答
35 浏览

javascript - 将 Kirby 与 PopcornJS 一起使用时的问题

对于一个项目,我必须同时使用 Kirby 和 Popcorn.js,我已经分别使用了这两者并且没有问题,但现在我必须生成包含不同视频和字幕集的子页面。问题是我将脚本放在标题和模板中,这些脚本使用了我的爆米花视频和脚注的片段。

现在的问题是我在控制台中有这个问题:

在片段中做到了:

只需复制/粘贴 head 中的示例:

视频运行,没有问题,我只是看不到潜艇。我试图将脚本放在正文的末尾而不是放在头部,但没有。

我在本地主机中使用 Mamp,原因是这样的吗?

0 投票
0 回答
108 浏览

php - 用于解析 Kirby 标签的正则表达式

我正在为Kirby CMS开发一个插件。它有一种称为 kirby 标签的数据类型。我想解析它。

我有以下输入:

我从中提取:

然后,我需要解析这个输入并得到以下输出:

我几乎得到了想要的结果,但是在处理空对和带有空格的值时遇到了麻烦。在这里检查我的正则表达式:

基本上,我需要匹配字符串的开头或一些空格,然后是一些字符(键)、一个冒号和所有其余部分,直到我达到另一个空格 + 字符组合。

有没有办法让它工作?

0 投票
1 回答
115 浏览

sorting - 如何按时间倒序对页面进行排序?

我想根据页面名称按时间倒序显示页面。有没有比更改页面名称更简单的方法?

这是柯比的例子。/content/blog/20121212-my-first-article /content/blog/20132206-a-second-article /content/blog/20142806-the-latest-article

我希望首先显示最新的帖子 - 20142806-the-latest-article。

0 投票
0 回答
84 浏览

javascript - 如何在 `window` 中暴露 webpack 依赖项?

这个问题来自我遇到的Kirby CMS 问题。这是一个简短的总结。

Kirby 面板使用 Vue 和 Vuex 并将它们与 Webpack 捆绑在一起(通过 Vue CLI)。它有两个块,供应商和应用程序。人们还可以为该面板编写插件。JS执行顺序如下:

  1. vendor.js 块
  2. 插件的 JavaScript 包(例如,myplugin.js)
  3. app.js 块

问题是 - myplugin.js 如何引用与 app.js 相同的 Vuex?正如我在问题中所描述的,如果我在 myplugin.js 中使用自己的 Vue 和 Vuex,Vue 会出现问题。由于 Kirby 在它自己的 Vue 实例中加载我的 Vue 组件,该组件的存储应该使用绑定到同一个 Vue 实例的 Vuex 存储,否则 Vue 的反应性中断。

我们不能在 app.js 中添加以下内容:

因为 app.js 块是在 myplugin.js 之后执行的。因此,当解析 myplugin.js 中的导入时,对的引用KirbyVuex将不存在。所以你不能这样做:

因为KirbyVuexundefined

显然,这些依赖项应该在 vendor.js 块中公开。有没有可能发生的方法?插件可能需要使用除 Vue 和 Vuex 之外的其他面板依赖项。如果它们已经存在,将它们包括在内将是多余的。此外,插件和面板可能需要共享相同的依赖项状态,在这种情况下,使用相同的依赖项是必需的(就像我在 Vuex 中的情况一样)。

面板有没有办法将其依赖项暴露给window对象?它已经创建window.panel了包含对插件有用的数据。它可以以某种方式添加window.panel.vendors在那里吗?或者也许只是window.vendors?从那里您可以new vendors.Vuex.Store(...)在插件中使用。

Webpack 中是否有允许将依赖项暴露给外部代码的功能?

0 投票
0 回答
27 浏览

php - 从关闭中输出标记是不好的做法吗?

我正在使用 Kirby CMS,我想创建一个可重用的片段,在动态内容之前和之后输出静态内容。我熟悉 heredoc 和输出缓冲区,但我认为它们不太适合我的用例。

我有以下。

片段文件 test.php:

主文件(包括片段):

对于那些不熟悉 Kirby 的人来说,该snippet()函数只包含来自指定片段文件夹的一个文件,其中包含一些传递给它的数据。在这种情况下,我将片段中可用的匿名函数作为content变量传递。

我得到以下输出,没有错误或警告:

因此,我的代码按预期工作,并按照我的意愿行事。我的问题是- 这是在生产中使用的好主意吗?是否有一些隐藏的警告?我使用 PHP 已经有一段时间了,以前从未见过类似的东西。可以使用吗?

0 投票
1 回答
120 浏览

javascript - pts.js 'NS_ERROR_NOT_AVAILABLE:' 尝试将图像用于粒子时出错

我想为 pts.js 中的粒子加载相同的图像。

当我尝试使用资产文件夹中的本地图像时,我在控制台中收到错误“NS_ERROR_NOT_AVAILABLE:”。

我在某处读到这可能是由于图像在加载之前就尝试使用...

我也尝试过使用指向其他图像而不是本地图像的外部链接,这很有效。所以不确定我的本地文件发生了什么。

编辑:

我只是在 chrome 而不是 firefox 上尝试了这个,我收到了一条新的更详细的错误消息。

“未捕获的 DOMException:无法在‘CanvasRenderingContext2D’上执行‘drawImage’:提供的 HTMLImageElement 处于‘损坏’状态。” 在 pts.min.js:6 中。

仍然不确定到底出了什么问题。

0 投票
1 回答
127 浏览

jquery - Bootstrap 4 导航活动链接状态

我使用 bootstrapv4 导航,但是当我单击一个项目时,活动状态不会切换。我尝试了一些 js,但它们都没有工作。我正在使用 kirby cms,但这不会引起任何问题.. 使用<?php snippet('header')?>会导致麻烦吗?还是我设置错了?

这是我的 header.php

这是我的 js 文件

0 投票
1 回答
619 浏览

rest - 通过 Kirby CMS REST API 使用响应式图像

我正在评估一个完全无头的设置kirby。我希望能够上传一个大尺寸的图像,并且 kirby 应该生成不同尺寸的响应图像。(我从 WordPress 知道这个功能,这是可能的)。

我看到有这个:https : //getkirby.com/docs/guide/templates/resize-images-on-the-fly 但这都是 php kirby 代码,我只想使用 REST API。所以现在可以使用柯比语法。我尝试预先配置其中的尺寸,site/config/config.php但是在上传新图像时,它不会以不同的尺寸保存它......</p>

然后我想,也许它只会在第一次请求图像时生成特定的大小。我已经在多个 CDN 上看到了这种行为。但我也没有找到任何关于此的文档。

那么上传图像的最佳方式是什么,然后能够通过 REST API 加载该图像的调整大小版本?

甚至有可能吗?感谢您对此的每一个投入。

干杯

0 投票
0 回答
76 浏览

php - password_get_info 返回意外结果

通常,您可以使用它password_get_info($string);来获取有关哈希密码的一些信息,这些信息将返回如下内容:

如果字符串不是哈希,您将得到如下结果:

一些广泛的身份验证方法是围绕此构建的。

我现在遇到的是,我得到以下结果,其中的值algoNULL而不是通常的0

现在的问题是,我无法弄清楚为什么它会返回NULL而不是0破坏了我正在构建的项目中处理身份验证的包。有没有人经历过这样的事情?

作为参考,我正在php:7.4-apache使用 PHP 7.4.3 运行官方 Docker 映像。