AbstractPlugin
Deprecated since version 12.4
This class will be removed in TYPO3 v13.
Migration
Remove the dependency of
\TYPO3\. If
functionality of this class is still used, copy it into your plugin.
Example
Class before migration:
EXT:gh_randomcontent/Classes/Plugin/RandomContent.php
class RandomContent extends AbstractPlugin
{
public function main(string $content, array $conf) : string
{
$this->conf = $conf;
$this->pi_initPIflexForm(); // Init FlexForm configuration for plugin
if ($this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'which_pages', 'sDEF')) {
$this->conf['pages'] = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'which_pages', 'sDEF');
}
// ...
}
}
Copied!
Class after migration:
EXT:gh_randomcontent/Classes/Plugin/RandomContent.php
class RandomContent
{
/**
* The back-reference to the mother cObj object set at call time
*/
public $cObj;
/**
* This setter is called when the plugin is called from UserContentObject (USER)
* via ContentObjectRenderer->callUserFunction().
*
* @param ContentObjectRenderer $cObj
*/
public function setContentObjectRenderer(ContentObjectRenderer $cObj): void
{
$this->cObj = $cObj;
}
public function main(string $content, array $conf) : string
{
$this->conf = $conf;
$this->pi_initPIflexForm(); // Init FlexForm configuration for plugin
if ($this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'which_pages', 'sDEF')) {
$this->conf['pages'] = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'which_pages', 'sDEF');
}
// ...
}
/**
* Converts $this->cObj->data['pi_flexform'] from XML string to flexForm array.
*
* @param string $field Field name to convert
*/
public function pi_initPIflexForm($field = 'pi_flexform')
{
// ...
}
public function pi_getFFvalue($T3FlexForm_array, $fieldName, $sheet = 'sDEF', $lang = 'lDEF', $value = 'vDEF')
{
// ...
}
}
Copied!
It is also possible to migrate to an Extbase plugin using a controller. See the Extbase frontend plugins.