暂且,我们将SonataAdmin获取paremeters.yml中的参数分为两种:controller中获取和Admin类中获取。
例如我们在paremeter.yml中设置了
1 2 3 4 5 |
parameters: database_host: 127.0.0.1 .......... introduction.categories: ['分类1','分类2','分类3','分类4','分类5'] |
controller获取的方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
class HomeAdminController extends CRUDController { public function render($view, array $parameters = array(), Response $response = null, Request $request = null) { // Get categories from parameters $parameters['categories'] = $this->container->getParameter("introduction.categories"); // This one is also necessary. I'll explain in the next section ;) $parameters['persistent_parameters'] = $this->admin->getPersistentParameters(); return parent::render($view, $parameters); } } |
这样你就可以将你获取到的分类渲染在模板中。
Admin中获取:
1 2 3 4 5 6 7 8 9 10 11 |
<?php use Sonata\AdminBundle\Admin\Admin; class YourAdmin extends Admin { protected function yourAdminMethod() { $this->getConfigurationPool()->getContainer()->getParameter('your_parameter'); } } |
这样你就可以在你的admin后台,做一些数据或者字段显示的逻辑了。