1

ユーザーが会社のロゴをアップロードするために、フロントエンドで UploadField を使用しようとしています。

UploadField に関するドキュメントはまだあまりありません。そして、私はそれを試しましたが、これまでのところ運がありません.

誰でも使用方法を教えてもらえますか?

4

2 に答える 2

1

これは少し古いですが、他の誰かが私のようにこれに遭遇した場合。

UploadFieldはフロントエンドで機能します。saveInto関数を使用してmany_many関係に保存できませんでした。しかし、私が見逃した最大のことは、DataObject / Pageが最初に存在する必要があることでした。これは、画像などの関連オブジェクトを添付する前に、DataObject/Pageを保存する必要があるためです。

static $has_one = array(
    "Photo" => "Image"
);

$fields = new FieldList(
    new UploadField( 'Photo', 'Upload' )
);

function saveForm( $data, $form ) {
    $object = new DataObject();
    // for a new object write before saveinto
    $object->write();
    $form->saveInto($object);
    $object->write();
    Director::redirectBack();
}

ss3.0.1を使用する

または、saveinto関数を使用する代わりに、パラメーターを手動でループして、many_manyイメージのオブジェクトに自分でアタッチすることもできます。

于 2012-09-30T01:51:05.317 に答える
0

アップロード フィールドは、オブジェクトの can*() メソッドを介して権限をチェックします。

フロント エンドの編集を許可するには、カスタム オブジェクトで File::canEdit (または Image::canEdit) をオーバーロードしてこれを処理する必要がある場合があります。

于 2012-06-25T06:23:05.940 に答える