我有一個物體,它有一個 EAV 屬性影像來在 BO 中顯示一個影像。這個影像是我從 API 呼叫中得到的影像……沒什么特別的……但我想修改它,因為 API 會發送多張影像。所以我想有可能保存所有這些影像并顯示所有這些影像。最好的方法是什么?我必須添加另一個屬性嗎?? 但是因為我最多可以接收 10 張影像......我該怎么做?我第一次想在我的物體 9 欄位中添加 image2 image3 image4 等......但我認為有一種更有效的方法來保存和顯示我的影像。
在此先感謝您的幫助
(我是 magento 2 的初學者)
這是我的控制器從 API 獲取照片后保存照片的一部分
case 'mainPhoto':
if (
is_array($retailerData['mainPhoto']) &&
isset($retailerData['mainPhoto']['publicUrl'])
) {
$imageUrl = $retailerData['mainPhoto']['publicUrl'];
$fileName = baseName($imageUrl);
$newFileName = $this->getMediaSellerPath() . DIRECTORY_SEPARATOR . $fileName;
$result = $this->file->read($imageUrl, $newFileName);
if ($result) {
$model->setMediaPath($fileName);
}
}
break;
case 'photos':
$test = [];
foreach ($value as $key => $item) {
if (
is_array($item) &&
isset($item['publicUrl'])
) {
$imageUrl = $item['publicUrl'];
$fileName = baseName($imageUrl);
$newFileName = $this->getMediaSellerPath() . DIRECTORY_SEPARATOR . $fileName;
$test[] = $newFileName;
$result = $this->file->read($imageUrl, $newFileName);
if ($result) {
$model->setCustomAttribute(RetailerAttributeInterface::PHOTOS, implode(",", $test));
}
}
}
break;
}
實際上我可以在資料庫中保存用逗號分隔的照片但是當我進入模塊時我有錯誤
無法收集統計資料!警告!stat():統計失敗 /var/www/xxx/pub/media/seller/medium_lRmMjKLDWV.jpg,medium_vyhkzfEhho.jpg
如何在沒有此問題的情況下在自定義屬性中保存由逗號分隔的 2 個影像
uj5u.com熱心網友回復:
首先,您需要將影像保存到 pub/media,然后創建一個文本型別的屬性并將整個影像名稱保存在該欄位中(用“,”分隔)然后在顯示時呼叫資料這個欄位并使用函式對','后面的資料進行裁剪,呼叫pub/media獲取具體的圖片路徑。
uj5u.com熱心網友回復:
沒關系,我已將 EAV 屬性型別從影像更改為文本,但沒有出現此錯誤。
謝謝
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/395368.html
上一篇:銳化濾波器和邊緣檢測核的關系?
