Let's say I have 'opigno_documents_last_group_block' hook:
<div class="content-box">
...
How can I enter it to pass some more variables to template?
I tried:
THEME_NAME_opigno_documents_last_group_block
THEME_NAME_opigno_documents_last_group_block_preprocess
or
THEME_NAME_preprocess_block
hooks and some others, but nothing seems to trigger this block, but it seems to dissapear (with plenty other blocks) when I unset npx_main_content_block.
The block opigno_documents_last_group_block is located in opigno_learning_path/src/Plugin/Block/DocumentsLastGroupBlock.php, which looks like this:
<?php
namespace Drupal\opigno_learning_path\Plugin\Block;
use Drupal\Core\Block\BlockBase;
use Drupal\Core\Url;
class DocumentsLastGroupBlock extends BlockBase {
protected $groupId;
public function build() {
$this->groupId = $gid = $this->configuration["group"];
$tid = _tft_get_group_tid($gid);
$content = _tft_folder_content($tid, FALSE, $gid);
$content = array_slice($content ?: [], 0, 4);
foreach ($content as $index => $item) {
$content[$index] = [
'#theme' => 'opigno_documents_last_group_item',
'#type' => $item["type"] == 'file' ? 'file' : 'folder',
'#item' => $item,
'#label' => $item["name"],
'#link' => $this->itemLink($item),
];
}
$build['content'] = [
'#theme' => 'opigno_documents_last_group_block',
'content' => $content,
];
return $build;
}
(...)
and is attached in LearningPathController in this module:
public function trainingContentDocuments(&$content, $group) {
$tft_url = Url::fromRoute('tft.group', ['group' => $group->id()])->toString();
$content['tabs'][] = $tft_url = [
'#markup' => '<div class="see-all see-all-files"><a href="' . $tft_url . '">' . $this->t('See all') . '</a></div>',
];
$block_render = $this->attachBlock('opigno_documents_last_group_block', ['group' => $group->id()]);
$block_render["content"]['link'] = $tft_url;
$content['tab_content']['documents'] = (isset($block_render["content"]["content"]) && !empty($block_render["content"]["content"])) ? [
'#type' => 'container',
'#attributes' => [
'id' => 'documents',
],
'block' => [
'content' => $block_render["content"],
],
] : [];
}