Silverstripe 3:我可以在 silverstripe 中为某些页面类型设置自定义错误页面吗?

2024-03-31

我想知道是否可以在 silverstripe 上设置特定于某种页面类型的自定义 404 页面,而所有其他 404 错误则使用默认页面。

我有一个特定的页面类型“事件”,其中的事件页面在特定日期后未发布。

我还有一个静态页面,其中包含一些事件的链接。此页面 URL 会发送给会员,因此即使某些事件可能已经过去,他们仍然可以访问该页面。

事件一旦通过,就会取消发布,因此点击链接将导致 404 错误页面。该链接在静态页面上仍然可用。

我想为事件页面类型设置一个特定的错误页面,这样当有人点击过去事件的链接时,他们会得到错误页面 A。“此事件已通过,请转到我们的事件页面”

然后,我想要一个常规错误页面 B“找不到页面,请转到我们的主页”,这将是网站上任何其他不正确链接的错误页面。

我有什么办法可以做到这一点吗?我正在使用银条3


对于遇到此问题的任何人的解决方案:

配置.yml

RequestHandler:
  extensions:
    - ExpiredEventRedirectExtension

ContentController:
  extensions:
    - ExpiredEventRedirectExtension

ModelAsController:
  extensions:
    - ExpiredEventRedirectExtension

ExpiredEventRedirectExtension.php

public function onBeforeHTTPError404($request)
{
    $urlSegment = $request->param('URLSegment');

    if ($urlSegment == "events") {
        $response = new SS_HTTPResponse();
        $response->redirect("/event-no-longer-available/");
    } 

    throw new SS_HTTPResponse_Exception($response);
}

如果事件已列在“事件”EventHolder 页面类型下方,则此操作会将用户重定向到页面类型为“页面”的事件不再可用。如果不是来自此 URL,则会显示常规 404 错误页面

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Silverstripe 3:我可以在 silverstripe 中为某些页面类型设置自定义错误页面吗? 的相关文章

  • PHP cURL 重定向到本地主机

    我正在尝试使用带有 cURL 的 php 脚本登录外部网页 我是 cURL 的新手 所以我觉得我错过了很多东西 我找到了几个例子并修改了它们以允许访问https页面 最终 我的目标是能够登录页面并在登录后通过指定的链接下载 csv 到目前为
  • XP及PHP MYSQL 练级系统

    我已经查看了所有提出的问题和答案 但我似乎找不到最适合我的答案 我想做的是开发一个系统 当用户达到一定的 XP 限制时 系统会进入下一个级别 它显示了下一个 XP 之前需要多少 XP So lvl1 0 gt lvl2 256 gt lvl
  • 如何使用 jquery ajax 将锚点的值发送到 php

    我正在尝试使用 jquery 将几个锚点的值发送到 php 文件 但我没有从 php 脚本中得到回调 div class result div a href value class star Star 5 a a href value cl
  • 在 PHP 中拆分 XML

    我有一个带有根元素和多个项目子元素的合并 xml 像这样的东西
  • 打印一个模式以显示最多 5 行 5 列的数字,例如 5 4 3 2 1 和下一行 4 3 2 1 5 直到第 5 行

    这是一个正方形图案 每行有 5 列 共有 5 行 图案如下所示 5 4 3 2 1 4 3 2 1 5 3 2 1 5 4 2 1 5 4 3 1 5 4 3 2 我的代码如下以获得模式 但当计数器达到 1 并显示在相应的列值中时 我无法重
  • 在 php 和 mysql 中使用 utf8mb4

    我读过 mysql gt 5 5 3 完全支持每个可能的字符 如果您使用编码utf8mb4对于某个表 列http mathiasbynens be notes mysql utf8mb4 http mathiasbynens be note
  • 用PHP动态生成二维码[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试在我的网站上生成二维码 他们所要做的就是在其中包含一个 URL 我网站上的变量将提供该 URL
  • PHP 中的抽象类是什么?

    PHP 中的抽象类是什么 如何使用 抽象类是至少包含一个抽象方法的类 该方法中没有任何实际代码 只有名称和参数 并且已被标记为 抽象 这样做的目的是提供一种模板来继承并强制继承类实现抽象方法 因此 抽象类是介于常规类和纯接口之间的东西 此外
  • 使用php插入sql数据库时出错

    我有一个带有 MySQL 插入查询的程序 sql INSERT INTO people person id name username password email salt VALUES person id name username p
  • PHP 和 MySQL 的重音字符错误

    我的问题是 直接通过 PHP 编写的内容是正确重音的 但是当重音单词来自 MySQL 时 字母会像这样 我尝试使用html charset as ISO 8859 1它修复了 MySQL 字母 但破坏了其他字母 解决这一切的一种方法是设置我
  • Laravel 类邮件程序不存在

    我将应用程序从 5 更新到 5 2 现在 当我调用 Mail send 时 它会返回一个异常 Class mailer 不存在 Mail send emails mail data gt content function m use to
  • 如何在 WordPress/WooCommerce 3+ 中向评论表单添加自定义字段

    我正在尝试在产品评论中添加 电话 字段 WooCommerce 3 针对未注册用户 来宾 电话号码只能由管理员在管理面板中看到 电话字段需要填写 Required 我尝试了这段代码 但这不起作用 function true phone nu
  • PHP函数返回值到html标签

    我想获取函数的返回值并将其显示到特定的id 在我的 Class php 中 我有一个名为 login 的函数 用于验证密码是否正确 不正确
  • PHP多图像文件上传并存储到文件夹和数据库

    我正在建立一个网站 向夜间狂欢者展示大城市夜总会场所和活动的列表 我正在尝试构建一个后端页面 管理员可以在其中添加俱乐部并输入信息 例如机构名称 位置 相对价格等 当然还有俱乐部的一些图像 每个俱乐部必须至少有一张图像 即主图像 可以有额外
  • 由于缺少会话而在 Next.js 中使用 Next-Auth 进行重定向时,如何显示 Toast 通知? [复制]

    这个问题在这里已经有答案了 例如 假设我有一个名为internal tsx 的页面 其中包含 export const getServerSideProps GetServerSideProps async ctx gt const ses
  • 连接 3 三张表

    我有这个图表应该可以解释我的情况 我需要一些关于连接 3 个表的帮助 我不知道如何做这种事情 因此 我可以通过执行以下操作来经历一段检索记录的 while 循环 img src alt Album AlbumID 使用内部联接 http w
  • 表单提交后显示 $_FILES['image']

    提交表单后如何显示上传的图片 提交表单后 它将是一个预览页面 因此我不会在 MySQLet 中存储图像类型 BLOB 如何显示 FILES image
  • 有关于 PHP 中的 V8JS 的文档吗?

    有没有关于V8JS的文档 我是否只需要标准 PHP 或一些扩展即可使用 V8JS 我将非常感谢有关 PHP 中的 V8JS 的任何信息 要求 PHP 5 3 3 和 V8 库和标头安装在正确的路径中 Install http www php
  • 如何更改phpmyadmin MySQL的IP地址?

    我在 xampp 中更改了 apache 的 IP 地址 但无法连接到 MySQL 我认为问题是我的 apache 不在我的数据库的同一网络上 我的 apache 位于 192 168 1 10 而我的 MySQL 位于 127 0 0 1
  • SimpleXML插入处理指令(样式表)

    我想集成一个XSL文件在一个XML给我的字符串php CURL命令 我试过这个 output XML gived me by curl option hotel simplexml load string output hotel gt a

随机推荐

  • Azure 文本转语音:如何更改输出的语言和语音?

    我需要以下 JavaScript 的帮助 希望有人能帮助我 文本以英语语音朗读 如何在以下工作代码中更改语言和语音 由于我的java技术较差 我在网上进行了大量搜索 但找不到合适的解决方案 所以 不幸的是我的编程技能不够好 所以我需要一些具
  • 使用WiX安装后是否可以提示重启机器?

    使用WiX安装后是否可以提示重启机器
  • 检查 Kusto 语言的表是否存在?

    有没有办法使用 kusto 语言以编程方式检查日志分析中是否存在表 例如 假设我想检查工作区是否包含 VMConnection 表 如下所示 IF OBJECT ID objectName U IS NOT NULL OR IF EXIST
  • 如何访问 Import-Csv 数组中的特定行?

    我需要将大文件上传拆分为多个并行进程 并希望使用单个 CSV 文件作为输入 是否可以从一个访问行块Import Csv对象 像这样 SODAData Import Csv CSVPath Delimiter Where Rownum 20
  • 如何在 MVC 的 C# 中创建自己的值为“00”和“”的 SelectList?

    我的操作中有以下代码 ViewBag AccountId new SelectList reference Get 01 AsEnumerable OrderBy o gt o Order RowKey Value 00 在我看来 Html
  • 使用 XCB 检测窗口焦点变化

    我正在使用 XCB 编写一个程序 需要检测窗口何时获得或失去焦点 到目前为止我已经有了这个 但它只是挂在xcb wait for event调用 永远不会进入循环 我在这里缺少什么来获取根事件 或者我的做法完全错误 有比听根音更好的方法吗
  • 我应该避免使用“async void”事件处理程序吗?

    我知道使用 即发即弃 通常被认为是一个坏主意async void方法来启动任务 因为没有对挂起任务的跟踪 并且处理可能在此类方法中抛出的异常很棘手 我通常应该避免async void事件处理程序也是如此 例如 private async v
  • 如何使用Python的GAE开发服务器测试床模拟文件上传到blobstore

    我想编写一些单元测试 其中包括读取 blobstore 文件 https developers google com appengine docs python blobstore blobreaderclass hl pl 如何编写单元测
  • 动态 Javascript 树结构

    我想动态构建层次结构 每个节点创建为层次结构中的层 级别 具有自己的节点数组 这应该形成一个树结构 应该有一个根节点 以及未定义数量的节点和级别来构成层次结构的大小 除了根节点之外 不应修复任何内容 我不需要阅读或搜索层次结构 我需要构建它
  • 如何将录制的视频数据从 javascript 传递到 python

    我正在尝试将录制的视频数据块从某些 javascript 代码传递到我的路线 以便我可以保存它 我是新手 JavaScript 使用用户网络摄像头录制视频并将其保存为 RecordedBlob 我正在尝试将记录的 Blob 数据传递到我的
  • AngularJS + html5Mode + 自定义后备

    我有一个申请html5模式 真 但在 IE 上我不需要回退到 url 我需要的是保留 URL 并重新加载完整的页面 如果我找不到任何方法 我将需要编辑 AngularJS 文件 而这正是我不想要的 建议 Thanks 编辑 作为临时解决方案
  • 管理多个用户的 Firebase Cloud Messaging 令牌

    查看 Firebase 文档 它建议为每个客户端实例生成一个 FCM 令牌 然后必须手动存储该令牌 如果我将每个令牌链接到 Firestore 数据库中的用户文档 那么在用户注销时我是否需要手动删除设备特定的令牌 例如 用户 A 启动应用程
  • pelican:如何在 Markdown 中嵌入 html 和 javascript

    我想在博客文章中嵌入一些 html 元素和 javascript 这是我的 Markdown 文件 Title Foo Tags Bar Some Content here div div 但是 pelican 将 html 标签包装在pr
  • 展平列表

    尝试解决练习 07http www ic unicamp br meidanis courses mc336 2009s2 prolog problemas http www ic unicamp br meidanis courses m
  • 如何找到两个图像之间的所有共享区域

    我一直在尝试找到一些可以自动找到两个图像之间所有共享区域的东西not基于像素匹配或差异 经过相当多的搜索后我基本上什么也没得到 假设我有以下两张图片 在本例中是网站屏幕截图 第一个 基线 第二个非常相似 但修改了一些 CSS 所以整个块都被
  • 在 Elasticsearch 中,如何将时区应用于脚本化日期操作?

    通过下面的聚合并使用 ES5 我想根据给定时区 作为 TZ 数据库中的标识符提供 获取 dayOfWeek 和 hourOfDay 我怎样才能编辑 doc created date dayOfWeek 调整偏移量 aggs dayOfWee
  • 加解密资源库

    我的问题与以下问题相关 Android 资产文件夹的安全 https stackoverflow com questions 3406581 security of android assets folder Android 中的资产安全
  • 子pom可以继承父pom中定义的依赖排除吗?

    我不确定 Maven 是否支持 我很感激我能得到的任何帮助 我有一个定义依赖项和排除项的父 pom 我无法更改父 pom
  • php视频上传和ffmpeg不会创建缩略图

    我正在尝试为我的项目制作视频上传功能 但我有一个问题ffmpeg部分 ffmpeg已经安装在我的服务器上 但我无法获得任何缩略图 我尝试使用以下代码创建缩略图 videoa exec usr bin ffmpeg i videoUrlp f
  • Silverstripe 3:我可以在 silverstripe 中为某些页面类型设置自定义错误页面吗?

    我想知道是否可以在 silverstripe 上设置特定于某种页面类型的自定义 404 页面 而所有其他 404 错误则使用默认页面 我有一个特定的页面类型 事件 其中的事件页面在特定日期后未发布 我还有一个静态页面 其中包含一些事件的链接