web-dev-qa-db-ja.com

プログラムで画像をアップロード/リンクし、Ubercart製品ノードにアタッチしますか?

Ubercartモジュールが実行できるようにする必要があることの1つは、プログラムで画像をアップロードまたはリンクする(これはミラーリングする必要がないことを意味するため、これが推奨されます)ことで、Ubercartの製品ノードにアタッチします。ユーザーから情報が提供され、モジュールに名前、説明、製品画像が入力されます。商品のイメージはどうしたらいいかわからない大きなハードルです。

コアUbercartモジュールproductは、DrupalのコアImageモジュールに依存しています。このモジュールは、すべての画像を処理していると想定しています。 productモジュールのコードを見ればその方法を学べると思いましたが、何千行ものコードを調べて理解するのに苦労しています。私がやっていることと似たようなことを行う他のモジュールについても確信が持てないので、コードの例はありません。

私が達成したいことを達成する方法を誰かが知っていますか?

2
TheLQ

Ubercartには、定義済みのcck imagedfieldのオプションがすでにありますが、プログラムで正しい画像を取得する予定はどこにありますか?以前にフィールド設定でデフォルトのimagefield画像を使用したことを覚えています。

プログラムでubercart製品を作成する方法を検索します。他のdbやExcelファイルなどから製品をインポートするので、これはかなり一般的なことです。

ここからが始まりです。すべては、データの取得元によって異なります。

<?php
function MYMODULE_createnode() {

global $user;
if (isset(

$_POST['values_from_form']))
  {
    $values['nid'] = intval(check_plain($_POST['nid'])); 
    $values['title'] = check_plain($_POST['title']);
    $values['type'] = 'product'; //uc node content type
    $values['body'] = $_POST['body']; 
    $values['name'] = $user->name;
    $values['uid'] = $user->uid;
    $values['field_cck_field'][0]['value'] = $_POST['cck_field']; // Custom CCK field example for whatever it was you were wanting to do
    $values['status'] = 1;


    $node = node_submit($values);

    node_save($node);

    }
}
?>
1
imp