編集:レンダラーを拡張しないという部分は見ませんでした。私はレンダラーを含むソリューションを探している他のユーザーのために答えを残しました。
core_rendererを拡張するカスタムコアレンダラーを作成する必要があります。関数ブロック(block_contents $ bc、$ region)を再作成する(core_rendererクラスからコピーする)
$データに変数を代入することができ、それがテンプレートで利用可能になります。
class theme_yourthemename_core_renderer extends core_renderer {
...
public function block(block_contents $bc, $region) {
$this->init_block_hider_js($bc);
$data = \core\output\block::from_block_contents($bc, $this);
// Your code here
$data->yourvar = 'Some val'
return $this->render_from_template('core/block', $data);
}
}