有没有办法将URL变量传递给表单操作?我已经将它用于用户详细信息表单,但是当我尝试使用用户文件上传时,它将无法正常工作.
正如您将在下面看到的,我有一个用于保存用户详细信息的表单和保存操作.这很好.
当我尝试将URL变量传递给"用户文件上载"表单时,它不起作用.它说我试图得到一个非对象的值.
// Get Client ID from URL Parameters
public function getUser() {
if( isset($this->urlParams['ID']) && is_numeric($this->urlParams['ID']) ) {
return $user = Member::get()->byID($this->urlParams['ID']);
} else {
return $user = $this->request->postVars();
}
}
// Edit/Save a User's details
public function EditUserDetails() {
//Include JS for updating details
Requirements::javascript('module-memberprofiles/javascript/MemberProfileUpdate.js');
Requirements::set_force_js_to_bottom(true);
$fields = new FieldList(
$leftCol = CompositeField::create(
TextField::create('FirstName', 'First Name')
->setFieldHolderTemplate('UserDetails_FieldHolder'),
TextField::create('Surname', 'Surname')
->setFieldHolderTemplate('UserDetails_FieldHolder'),
CompositeField::create(
TextField::create('Address', ''),
TextField::create('Suburb', ''),
CompositeField::create(
DropdownField::create('State', '', singleton('Member')->dbObject('State')->enumValues())->setFieldHolderTemplate('UserDetails_StatePostCode'),
TextField::create('PostCode', '')->setFieldHolderTemplate('UserDetails_StatePostCode')
)->addExtraClass('row')
)
->addExtraClass('userdetails-address wrap')
->setFieldHolderTemplate('UserDetails_AddressHolder'),
TextField::create('Phone', …Run Code Online (Sandbox Code Playgroud) 我现在谷歌搜索大约2个小时,无法找到这个问题的答案.我正在尝试按作者/会员ID过滤博客帖子(使用silverstripe-blog模块).到目前为止我有:
public function MyRecentPosts() {
$posts = BlogPost::get()
->sort('PublishDate','desc')
->limit(2);
return $posts;
}
Run Code Online (Sandbox Code Playgroud)
显然,只返回最新的博客帖子.我不确定我是否理解如何将Blog Post表与BlogPost_Authors表相关联...
任何建议将不胜感激.
我正在使用带有 AngularJS 的字体真棒版本 5。它看起来很棒,而且正在按预期替换图标。但是,我遇到的问题是,如果在页面加载完成后添加 dom 元素,它不知道用 SVG 替换相关的 .fa-* 元素。
当然有办法解决这个问题,但我似乎找不到关于这个特定问题的任何信息。
我试图使用Has_many关系作为DataObject的摘要字段,似乎无法使其工作.
基本上:
我正在尝试在每个表单的后端管理区域中创建一个网格字段,显示每个表单的条目.
在条目的摘要字段中,我想显示创建的日期,以及该表单的前3个字段.
因此,例如,如果我们有一个带有姓名,电子邮件和电话字段的表单,汇总字段将如下所示:
将相关的条目数据/响应作为条目的摘要信息.
这是我到目前为止所拥有的.这是形式:
<?php
class ContactBlock extends Block {
private static $db = array(
// Fields for the form/block go here
);
private static $has_many = array(
'ContactBlockFields' => 'ContactBlockField',
'ContactBlockEntries' => 'ContactBlockEntry'
);
public function getCMSFields() {
// Irrelevant code goes here!
// CONTACT BLOCK ENTRIES
$entriesInfo = new GridFieldDataColumns();
$entriesInfo->setDisplayFields(singleton('ContactBlockEntry')->summaryFields());
$entriesConfig = GridFieldConfig::create();
$entriesConfig->addComponents(
new GridFieldToolbarHeader(),
new GridFieldAddNewButton('toolbar-header-right'),
$entriesInfo, …Run Code Online (Sandbox Code Playgroud) php ×4
silverstripe ×4
angularjs ×1
css ×1
file-upload ×1
font-awesome ×1
forms ×1
javascript ×1
svg ×1