问题标签 [silverstripe-4]
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.
silverstripe - 如何在 silverstripe 中将图像排序为 many_many 的一部分?
我在主页上为 $slideImages 创建了一个 $many_many 数组。经过大量阅读和尝试后,我仍然无法告诉 CMS 我希望图像出现在模板中的顺序。默认情况下,它们按我相信的上传日期排序。
我可以创建网格字段,但似乎无法让文本字段输入排序编号。现在我刚刚完成了一条引导我到 gridFieldComponent 的兔子路径,但是我收到了一个错误,并且文档没有帮助我。
我得到的错误是:
“未捕获的错误:无法实例化接口 SilverStripe\Forms\GridField\GridFieldComponent”
silverstripe - 我应该使用 Pages 还是 DataObjects 来处理大量条目?
我想知道在这种情况下最好的方法或最佳实践是什么:
- 我有几类数据(比如说:新闻、事件、广告、装备)
- 记录的数量从几十到几千不等
- 我需要为所有这些类别提供一个共同的视图,并为每个类别提供单独的视图
一开始,我想我会创建一个基本页面,我会使用一个持有者页面模式,但现在我有一些疑问。使用 DataObjects 并简单地使用 Pages 来管理它们不是更好吗?
您对数千页使用 holder-page 模式有何经验?是否有意义?
php - silverstrip Object->__call():“HasManyList”上不存在“fortemplate”方法,或者该方法不是公共的
我在前端模板中收到此错误,我的模板文件为空,当我尝试addFieldToTab
. 我认为$has_many
变量有问题。
我的代码如下:
错误 :
[用户错误] 未捕获的异常:Object->__call():“HasManyList”上不存在“fortemplate”方法,或者该方法不是公共的。
PasteBin 网址:https ://pastebin.com/YZJn3a4t
当我删除$has_many
变量时,它工作得很好。在我的前端模板中是空的。
如何解决这个我不明白的错误?
silverstripe - 我无法删除 Silverstripe 中 $has_one 的默认下拉菜单
我试过:removeFieldFromTab removeByName replaceField
但该领域仍然存在。
我没有收到任何错误,但具有 id #'s 的默认下拉字段位于顶部。
php - 在 silverstripe 4 中的控制器中动作是如何工作的?
有人可以解释一下 Silverstripe 4 中的操作是如何工作的吗?
我有这样的控制器:
当我在浏览器中启动它时,我得到了这个:
我不明白为什么在 RequestHandler 将规则“add-shop”与操作“shopForm”匹配之后,控制器没有执行“shopForm”操作。它没有执行找到的操作,而是调用 errorPageController...
silverstripe - Silverstripe 下拉字段未显示已选择的保存值
我在 CMS 中创建了一个下拉字段,如下所示:
问题是当我选择一个值并保存/发布页面时,下拉菜单会返回到“选择一个”,而不是显示保存的选择。
我没有检查数据库以查看是否正在存储该值,但我认为它是。
编辑:不是重复的。建议的副本涉及从 CMS 中删除字段。这个问题涉及将下拉值设置为保存的选择。
然而,答案是相似的。用户必须始终将 ID 附加到 has_one 字段,以便 CMS 与之交互。
php - 如何阻止 SilverStripe 4 在文件上传时自动生成图像缩略图?
我正在建立一个网站,其中包含大量要响应式提供的大图像,以便手机可以看到该图像的小版本,而 4k 显示器可以看到该图像的大版本。其目的是允许 SilverStripe 中的作者上传大小为 4000 像素 x 3000 像素甚至更大的图像,然后将其传递给imgix之类的服务,以完成图像大小调整和压缩的繁重工作,以提供服务在主题中响应地提升图像。
但是,在大多数托管环境中上传这种大小的图像会导致 PHP 内存错误,这是因为 SilverStripe 会自动处理图像并为管理界面生成一些缩略图。我想禁用该缩略图生成,以便上传图像 - 全尺寸 - 并且在整个过程中不受操纵,以免服务器上的图像操作可能导致 PHP 内存错误。
我在 SilverStripe 的功能中看到的可能禁用图像缩略图生成的最接近的事情是在ImageManipulation特征中,但我无法在我的代码中连接如何利用它的点:
我尝试使用 File 类而不是 Image 类作为我的 Photo 字段,认为 SilverStripe 可能只尝试在图像而不是文件上生成缩略图,但这并不能解决问题。
有任何想法吗?
silverstripe - How to automaticaly publish files uploaded to a dataobject in Silverstripe model admin
In Silverstripe 4 a file that is uploaded must be published before it is visible to the public side of the site.
If I create a $Page with a $has_one Image::Class and then also assign that image to $owns[] the uploaded image will be published when I publish the page.
However If I create the following data object structure it will not.
If I create a catalog and within it create items with images and then save it, it will not publish the images that were uploaded. I will have to manually: 1. Select the image 2. Edit Original 3. Publish
There has to be an easier way for the user.
mysql - SilverStripe MYSQL 查询错误:only_full_group_by
我正在将一些旧的 SS 2.4 代码升级到 SS4。执行以下查询时出现以下错误:
错误:
列表的表达式#1
SELECT
不在子句中,并且包含在功能上不依赖于子句中的列的GROUP BY
非聚合列;这与.'t.Total'
GROUP BY
sql_mode=only_full_group_by
如何更新此查询以与 mysql 严格模式兼容?编辑my.cnf mysql_mode 好像没有生效
silverstripe-4 - 获取 $this->File() 返回空类
我有一个简单的 SilverStripe 4.0 DataObject
,它有一个图像(即。$has_one = array("Image" => Image:class)
)。当试图获取这个对象时,Image
我得到一个空Image
对象。
例如:
到底是怎么回事?!我对 SilverStripe 3 很了解,所以我被这个与 SilverStripe 4 隔离的问题难住了。