PHP code example of madebyraygun / craft-block-loader
1. Go to this page and download the library: Download madebyraygun/craft-block-loader 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/ */
madebyraygun / craft-block-loader example snippets
namespace modules\blocks;
use craft\elements\Entry;
use madebyraygun\blockloader\base\ContextBlock;
class AnchorBlock extends ContextBlock
{
public function getContext(Entry $block): array
{
return [
'anchorId' => $block->anchorId,
];
}
}
namespace modules\blocks;
use craft\elements\Entry;
use madebyraygun\blockloader\base\ContextBlock;
class RichTextBlock extends ContextBlock
{
public function setSettings(): void
{
$this->settings
->templateHandle('richTextColumns')
->eagerFields([
'richTextColumns',
]);
}
public function getContext(Entry $block): array
{
$columnsTable = $block->richTextColumns->all();
$columns = [];
foreach ($columnsTable as $column) {
$columns[] = [
'body' => $body = ($field ? (string) $field : '');
];
}
return [
'align' => $block->align->value ?? 'left',
'width' => $block->width->value ?? 'default',
'columns' => $columns,
];
}
}
namespace modules\blocks;
use madebyraygun\blockloader\base\ContextBlock;
class MarkupBlock extends ContextBlock
{
public function getMarkupContext(string $markup): array
{
// do some preprocessing on the markup before rendering
$markup = preg_replace('/<p>/', '<p class="prose">', $markup);
return [
'content' => $markup,
];
}
}
public function getContext(Entry $block): array
{
$blocks = BlocksProvider::extractBlockDescriptors($block, 'body');
return [
'blocks' => $blocks,
];
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.