VITEC headless: ContentElementResolver, Product fields (videofile, showdatapath)
- New Classes/Service/ContentElementResolver.php: parses TYPO3 typolink
(t3://record?identifier=tt_content&uid=N, t3://page?uid=P#N, plain numeric)
to a normalised tt_content envelope ({id,type,colPos,sorting,appearance,
data}), recursively resolving any nested VITEC list-plugin children.
- ProductListJsonRenderer / ProductShowJsonRenderer: contentelement and
contentelementcta now emit the resolved object instead of the raw
typolink string (breaking change at those two keys).
- Product model: new field videofile (FAL, single video upload in tab
Images and Videos, mp4/webm/ogv/mov/m4v); new bool field showdatapath
(toggle at end of General tab, controls the "Datapath is now Vitec"
graphic in the frontend). ext_tables.sql, TCA, model property +
getter/setter, and both renderers updated accordingly.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
dba154e572
commit
409afc2433
34 files changed
+461
-9
No files matched your search
@@ -215,6 +215,22 @@ class Product extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
|
||||
/**
|
||||
* Uploaded / locally selected video file (FAL)
|
||||
*
|
||||
* @var \TYPO3\CMS\Extbase\Domain\Model\FileReference|null
|
||||
*/
|
||||
protected $videofile;
|
||||
|
||||
|
||||
/**
|
||||
* Show the "Datapath is now Vitec" graphic in the frontend
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
protected $showdatapath = false;
|
||||
|
||||
protected $contentelement;
|
||||
|
||||
/**
|
||||
@@ -865,6 +881,50 @@ class Product extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
||||
/**
|
||||
* Returns the uploaded video file
|
||||
*
|
||||
* @return \TYPO3\CMS\Extbase\Domain\Model\FileReference|null
|
||||
*/
|
||||
public function getVideofile(): ?\TYPO3\CMS\Extbase\Domain\Model\FileReference
|
||||
{
|
||||
return $this->videofile;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the uploaded video file
|
||||
*
|
||||
* @param \TYPO3\CMS\Extbase\Domain\Model\FileReference|null $videofile
|
||||
* @return void
|
||||
*/
|
||||
public function setVideofile(?\TYPO3\CMS\Extbase\Domain\Model\FileReference $videofile): void
|
||||
{
|
||||
$this->videofile = $videofile;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the showdatapath flag
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function getShowdatapath(): bool
|
||||
{
|
||||
return (bool)$this->showdatapath;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the showdatapath flag
|
||||
*
|
||||
* @param bool $showdatapath
|
||||
* @return void
|
||||
*/
|
||||
public function setShowdatapath(bool $showdatapath): void
|
||||
{
|
||||
$this->showdatapath = $showdatapath;
|
||||
}
|
||||
|
||||
public function getContentelement(): string
|
||||
{
|
||||
return $this->contentelement;
|
||||
@@ -919,4 +979,4 @@ class Product extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity
|
||||
}
|
||||
/* --------------------------------------------------------------------- */
|
||||
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user