首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何防止银条将URLSegment字段值改为小写?

如何防止银条将URLSegment字段值改为小写?
EN

Stack Overflow用户
提问于 2014-12-23 10:13:21
回答 1查看 517关注 0票数 1

我有一个URLSegment字段在我的银条CMS,我想有一个链接与大写。但在储蓄之后,银条将其改为小写字符串。我找不到,这种行为是在哪里引发的。有谁知道怎么防止吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-24 02:09:43

URLSegmentFilter 负责URLSegment的小写转换。,它称为mb_strtotlowerURLSegmentFilterSiteTreeURLSegmentField中通过函数调用。

重要的是,generateURLSegment函数实际上调用了Silverstripe的扩展系统,所以如果您对SiteTree进行数据扩展,您只需要指定一个名为updateURLSegment的函数,并在Silverstripe所做的工作之上执行您自己的处理。

从上面链接的代码中,传递给updateURLSegement函数的第一个参数将是URL的过滤(小写)版本,第二个参数将是未触及的值。

在这样做时,我会小心地确保您像URLSegmentFilter那样重新实现所有其他过滤代码(减去小写调用),否则它可能会用无效的字符破坏系统。

顺便提一句,我对实际的改变持谨慎态度。URL中的不同情况对任何人都没有帮助,一些用户会认为URL区分大小写,对于某些系统来说很容易做到这一点。我不知道Silverstripe是否会有这样的问题,但我还没有遇到我曾经参与过或帮助过人们的各种项目。

还有一个更快速的方法,使用Silverstripe的函数实现类似的更改,并完全覆盖URLSegmentFilter,尽管这只是最后的手段。

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

https://stackoverflow.com/questions/27618249

复制
相关文章

相似问题

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