我已经在Bolt2.0中构建了一个带有图像字段的自定义contenttype。
image:
type: image如果没有指定文件夹,则上载的文件将转到按年月命名的文件夹。
结果: 2014-11/myFileName.jpg
通过标签上传,我可以将其更改为其他内容。
image:
type: image
upload: "News/" 结果: News/myFileName.jpg
是否有可能在我的自定义路径之后获得年度月文件夹?
结果: News/2014-11/myFileName.jpg
发布于 2014-12-01 21:59:49
答案是肯定的,但不是很简单,所以如果您想要一种可配置的方法来实现这一点,您需要等待2.1的Bolt,我们将在其中向upload:设置中添加变量。
如果您不介意设置自己的引导文件并修改应用程序,那么现在就可以这样做。
日期前缀由$app‘uppload.前缀’设置生成,当前返回日期字符串。要修改它,您需要做的是将它更改为您自己的闭包。如果需要的话,我还没有在如此调整的项目上测试过这一点,但之后:
$app->initialize();
// Redefine the closure
$app['upload.prefix'] = function() {
$setting = $app['request']->get('handler');
$parts = explode('://', $setting);
$prefix = rtrim($parts[0], '/') . '/';
return $prefix.date('Y-m') . '/';
};
$app->run();我们在这里要做的是读取请求中传递的设置,然后将默认日期前缀连接到它的末尾。
如前所述,2.1将在路径中引入变量支持,因此选项如下
upload: news/{%month%}/{%day%}
upload: uploads/{%contenttype%}/{%id%}在contenttypes.yml文件中很容易定义,所以如果您不介意等待几个月,那么这显然要简单得多。
发布于 2017-05-31 12:06:43
在3.2.9这个{%id%}原则似乎还不起作用. :(
https://stackoverflow.com/questions/27227142
复制相似问题