PHP code example of netzbewegung / nb-headless-content-blocks
1. Go to this page and download the library: Download netzbewegung/nb-headless-content-blocks library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
netzbewegung / nb-headless-content-blocks example snippets
use TYPO3\CMS\Fluid\ViewHelpers\Uri\ImageViewHelper;
$generateThumbnail = function (array $arguments): string {
if (array_key_exists('absolute', $arguments) === false) {
$arguments['absolute'] = true;
}
$imageViewHelper = new ImageViewHelper();
foreach ($imageViewHelper->prepareArguments() as $argumentKey => $argumentDefinition) {
if (array_key_exists($argumentKey, $arguments) === false) {
$arguments[$argumentKey] = $argumentDefinition->getDefaultValue();
}
}
$imageViewHelper->setArguments($arguments);
return $imageViewHelper->initializeArgumentsAndRender();
};
foreach ($data['items'] ?? [] as $itemKey => $item) {
if ($item['image']) {
$image = $item['image'];
$data['items'][$itemKey]['image']['thumbnails'] = [
'mobile' => $generateThumbnail(['src' => $image['id'], 'treatIdAsReference' => true, 'width' => 320]),
'desktop' => $generateThumbnail(['src' => $image['id'], 'treatIdAsReference' => true, 'width' => 800]),
];
}
}
return $data;