Skip to content

Slot

Slot提供了一种向特定页面特定区域注入内容的能力。那些特定区域,我们称之为插槽(Slot)。

使用

定义Slot

例如在course/show.html.twig页面中,我们定义了:

twig
<div class="course-sidebar">
  {{ slot('course.show.sidebar', {'course':course}) }}
  ...
</div>

注入

1.添加YourPlugin/Resources/config/slots.yml

yaml
- name: course.show.sidebar
  class: YourPlugin\Slot\CourseShowSidebarSlot
  priority: 10

2.添加YourPlugin/Slot/CourseShowSidebarSlot.php

php
<?php
namespace YourPlugin\Slot;
use Codeages\PluginBundle\System\Slot\SlotInjection;

class CourseShowSidebarSlot extends SlotInjection
{
    public function inject()
    {
        // ...
        return $this->container->get('twig')->render(
            'YourPlugin:Slot:course-show-sidebar-slot.html.twig'
        );
    }
}
?>

Slot列表

后续会补充。