use Cubist\Backpack\Magic\Models\CubistMagicAbstractModel;
-use Cubist\Backpack\Magic\Models\CubistMagicModel;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\App;
-use Spatie\MediaLibrary\Models\Media;
+use Spatie\MediaLibrary\MediaCollections\Models\Media;
class EntityData implements \ArrayAccess
{
protected $_entity;
/**
- * @return CubistMagicModel
+ * @return CubistMagicAbstractModel
*/
public function getEntity(): CubistMagicAbstractModel
{
}
/**
- * @param CubistMagicModel $entity
+ * @param CubistMagicAbstractModel $entity
*/
public function setEntity(CubistMagicAbstractModel $entity): void
{
{
$collectionID = $collectionID ?? '';
- $media = $this->getEntity()->getMedia($collectionID);
+ $media = $this->getMediaByCollection($collectionID);
if (!$media) {
return $default;
}
return $default;
}
+ /**
+ * @param $collectionID
+ * @return \Spatie\MediaLibrary\MediaCollections\Models\Collections\MediaCollection
+ */
+ public function getMediaByCollection($collectionID)
+ {
+ return $this->getEntity()->getMedia($collectionID);
+ }
+
+ /**
+ * @param $collectionID
+ * @param string $conversionName
+ * @return array
+ */
+ public function getMediaPathsByCollection($collectionID, $conversionName = '')
+ {
+ if (!$collectionID) {
+ return [];
+ }
+ $media = $this->getMediaByCollection($collectionID);
+ $res = [];
+ foreach ($media as $m) {
+ /** @var Media $m */
+ $res[] = $m->getPath($conversionName);
+ }
+ return $res;
+ }
+
+
public function getImageURLAt($offset, $at = 0, $conversionName = '', $default = null)
{
$media = $this->getMedia($offset);