Fal::attach()
\nn\t3::Fal()->attach($model, $field, $itemData = NULL);
Convert a file to a FileReference object and
to the Property or ObjectStorage of a model.
See also: \nn\t3::Fal()->setInModel( $member, 'falslideshow', $imagesToSet ); with the
array of multiple images can be attached to an ObjectStorage.
\nn\t3::Fal()->attach( $model, $fieldName, $filePath );
\nn\t3::Fal()->attach( $model, 'image', 'fileadmin/user_uploads/image.jpg' );
\nn\t3::Fal()->attach( $model, 'image', ['publicUrl'=>'fileadmin/user_uploads/image.jpg'] );
\nn\t3::Fal()->attach( $model, 'image', ['publicUrl'=>'fileadmin/user_uploads/image.jpg', 'title'=>'Title...'] );
Copied!
| @return \TYPO3\CMS\Extbase\Domain\Model\FileReference|array
Source Code
public function attach ( $model, $field, $itemData = null )
{
if (!$itemData) return;
$returnFirstFal = !is_array($itemData);
$falsCreated = [];
if ($returnFirstFal) {
$itemData = [$itemData];
}
foreach ($itemData as $item) {
$fal = $this->createForModel($model, $field, $item);
$propVal = \nn\t3::Obj()->prop($model, $field);
$isStorage = \nn\t3::Obj()->isStorage( $propVal );
if ($fal) {
$falsCreated[] = $fal;
if ($isStorage) {
$propVal->attach( $fal );
} else {
\nn\t3::Obj()->set( $model, $field, $fal );
}
}
}
return $returnFirstFal ? array_pop($falsCreated) : $falsCreated;;
}
Copied!