小编Bar*_*vet的帖子

如何将URL变量传递给Silverstripe中的表单

我正在开发一个应该能够处理以下URL的自定义电子邮件表单:

http://www.example.com/email
Run Code Online (Sandbox Code Playgroud)

默认为常规电子邮件地址.

http://www.example.com/email/Office/1
Run Code Online (Sandbox Code Playgroud)

从Office模型ID 1获取电子邮件联系人详细信息

http://www.example.com/email/Staff/96
Run Code Online (Sandbox Code Playgroud)

从员工模型,ID 96获取电子邮件联系详细信息

我想我可以通过访问正常的$ Action/$ ID变量来做到这一点 - 但是完全被路由文档弄糊涂了:https://docs.silverstripe.org/en/3.3/developer_guides/controllers/routing/

class EmailPage_Controller extends Page_Controller
{

  private static $allowed_actions = array(
    'Form',
    'Staff',
    'Office'
    );

  public function Form() { 

    $Action = $this->request->getVar('Action');
    $ID = $this->request->getVar('ID');  
Run Code Online (Sandbox Code Playgroud)

不行.

在Silverstripe中访问/传递URL变量到表单的最佳方法是什么?

php silverstripe

4
推荐指数
1
解决办法
536
查看次数

如何将调试消息写入Silverstripe日志文件

我有一个正在开发的Silverstripe 3.1站点,并希望将消息写入默认日志文件 - silverstripe.log

这是我们用来向屏幕输出变量或消息的方法:

Debug::show($variable);
Debug::message("Debug message goes here");
Run Code Online (Sandbox Code Playgroud)

将这些输出到silverstripe.log文件的最简单方法是什么?我一直在查看文档,找不到正确的方法:http://doc.silverstripe.com/framework/en/topics/debugging

php silverstripe

3
推荐指数
1
解决办法
3379
查看次数

将Silverstripe网站设置为CMS之外的Live版本

我们有许多客户在使用Silverstripe CMS时感到困惑,然后他们的实时网站会显示草稿版本.

我们设置了" Better Navigator ",显示一个站点是否处于Draft或Live状态,但客户端仍然感到困惑(在某些视图中,Better Navigator按钮被遮挡).

理想情况下,如果在CMS之外查看实时网站,我们希望它只显示"实时"版本.

那可能吗?

silverstripe

3
推荐指数
1
解决办法
78
查看次数

如何在Silverstripe中扩展Object时修改或删除现有的summary_fields?

我正在扩展具有以下summary_fields(显示在CMS的"安全性"部分中)的Member对象.

private static $summary_fields = array(
    'FirstName' => 'First Name',
    'Surname' => 'Last Name',
    'Email' => 'Email',
);
Run Code Online (Sandbox Code Playgroud)

如何删除'FirstName'和'Surname'并将其替换为数据扩展名中的自定义字段:'Full Name'?

如何将"电子邮件"更改为"电子邮件地址"?

我知道如何通过数据扩展添加summary_fields,但我不知道如何删除或更改它们.

php silverstripe

2
推荐指数
1
解决办法
1538
查看次数

如何在Controller扩展中转换SilverStripe变量

我有以下代码:

class Page_Controller extends ContentController
{
    public function TimeNow() {
        return date('Y-m-d H:i:s');
    }
}
Run Code Online (Sandbox Code Playgroud)

但是以下模板代码不起作用:

$TimeNow.Format(Ymd\THis)
Run Code Online (Sandbox Code Playgroud)

我猜这是因为TimeNow不是作为SS_Datetime对象(继承Format方法).

我怎么投TimeNowSS_Datetime

php silverstripe

2
推荐指数
1
解决办法
85
查看次数

在Silverstripe页面类型上自动创建子页面

我在Silverstripe中有两个名为TeamPage和TeamReport的自定义页面类型.

创建新的TeamPage时,我希望将TeamReport添加为单个子页面 - 使用'/ report /'作为URL slug.

我应该向TeamPage添加什么代码才能实现此目的?

php silverstripe

0
推荐指数
1
解决办法
197
查看次数

标签 统计

silverstripe ×6

php ×5