小编Dal*_*lby的帖子

Silverstripe:将URL变量传递给表单操作

有没有办法将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)

php forms file-upload silverstripe

7
推荐指数
1
解决办法
751
查看次数

Silverstripe:按作者筛选博客文章

我现在谷歌搜索大约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表相关联...

任何建议将不胜感激.

php silverstripe

5
推荐指数
1
解决办法
195
查看次数

字体真棒 5 (SVG) 与 AngularJS

我正在使用带有 AngularJS 的字体真棒版本 5。它看起来很棒,而且正在按预期替换图标。但是,我遇到的问题是,如果在页面加载完成后添加 dom 元素,它不知道用 SVG 替换相关的 .fa-* 元素。

当然有办法解决这个问题,但我似乎找不到关于这个特定问题的任何信息。

javascript css svg angularjs font-awesome

5
推荐指数
1
解决办法
3677
查看次数

Silverstripe:无法从后端删除页面

嗨伙计们,我似乎无法从管理员后端删除页面.谁能帮助我理解为什么会这样?

在此输入图像描述

php silverstripe content-management-system

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

Silverstripe:$ has_many汇总字段问题

我试图使用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 silverstripe

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