web-dev-qa-db-ja.com

フィード:CSVを使用して画像をインポートする方法Node Import?

Node Import clone with an extra image field to add nodes with imagesがアタッチされているノードをインポートしようとしています。

成功せずに、ローカルファイルからコンテンツをアップロードしようとしています。

私はCSVパーサーとNode Processorを使用しています。私のコンテンツタイプにはPhotoという画像フィールドがあり、マッパーを使用してcsv形式にマップしました。

Windowsをローカルフィードソースとして使用し、Drupal 7をサーバーとして使用しています。

CSVを使用して画像をインポートする方法Node Import?csvファイルの画像ファイルパスは正確に何である必要がありますか?

3
Refineo

ローカルファイルに基づいて動作するとは思わない。私が理解している方法では、フィードはCSVデータを処理するために作成され、ファイルは既にサーバー上にあります。

少し試してみる必要がありますが、最善の策は、画像を含む単一の製品/ノードをアップロードすることです。その画像へのパスを見つけます。画像が保存されているフォルダを見つけたら、そのフォルダに画像をアップロードします。

次に、画像セクションのCSVファイルで、サーバー上の画像への直接パスを指定します。パスは、画像フィールドの構成方法に応じて、おそらく次のようになります。この例は、Drupal Commerceサイトからのものです:

example.com/sites/default/files/styles/uc_product_big/public/image-you-want-to-use.jpg

サーバーが何らかの後処理(画像のサイズ変更、トリミング、スケーリング)を実行し、複数のフォルダーに保存する場合、この方法では運が悪かったと思います。

Thegradeoの答えによる商取引を拡張します。と呼ばれる利用可能なモジュールがあります:

Feeds Image Grabber
https://drupal.org/project/feeds_imagegrabber

このモジュールの機能は、指定された画像を単に参照するのではなく、URLからノードにインポートできるようにすることです。このようにして、すべての後処理を1つにすることができます。

0
Daniel Waters

私はあなたが何をしているのか完全に明確ではありませんが、カスタムモジュールでテキストファイルを読み込もうとして同様の問題がありました。 Drupalで使用されるすべてのファイルは、file_save_uploadまたはfile_saveを使用してdrupals apiを使用してインポートする必要があります(これにより、Drupalで処理するためにファイルがデータベースに配置されると思います)。これらのファイルは、サイトディレクトリ構造内に保存されます(ダウンロードエラーメッセージは、そうではないことを示唆しています)。使用しているモジュールをチェックして、Drupalがファイルを保存しているかどうかを確認してください。このプロセスは必要です。ブラウザが外部のサイトに許可なくユーザーのファイルにアクセスすることを許可しないためです。

0
Ashlar