网站内容管理系统后台 设计(sonata介绍sonata扩展包及其版本信息添加如下配置(参考) )
优采云 发布时间: 2021-10-25 00:30网站内容管理系统后台 设计(sonata介绍sonata扩展包及其版本信息添加如下配置(参考)
)
奏鸣曲介绍
奏鸣曲扩展是 symfony2 中使用最广泛的扩展之一。它的主要功能是帮助您构建强大的管理后台。此外,还有许多附加功能可以深入挖掘。官方文件是
composer 扩展管理工具
为了安装 symfony2 扩展,我们需要一个 composer 工具。其安装方法(参考,如果以下命令无效,请参考最新官方文档)连续执行以下命令:
[root@centos7vm ~]# php -r "readfile('https://getcomposer.org/installer');" > composer-setup.php
[root@centos7vm ~]# php -r "if (hash_file('SHA384', 'composer-setup.php') === '7228c001f88bee97506740ef0888240bd8a760b046ee16db8f4095c0d8d525f2367663f22a46b48d072c816e7fe19959') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
[root@centos7vm ~]# php composer-setup.php
[root@centos7vm ~]# php -r "unlink('composer-setup.php');"
然后你会在当前目录中找到一个 composer.phar 文件,我们将它移动到 /usr/local/bin 并重命名它:
[root@centos7vm ~]# mv composer.phar /usr/local/bin/composer
ok,安装完成,执行
[root@centos7vm ~]# composer
查看是否有帮助信息输出
安装奏鸣曲管理员
首先查看项目目录下的composer.json文件。它记录了当前项目依赖的扩展包及其版本信息。通常,我们不编辑此文件。当使用 composer 更新扩展包时,该文件会自动更新。
实施:
[root@centos7vm mywebsite]# composer require sonata-project/admin-bundle "2.3.*"
安装sonata的admin-bundle,因为admin-bundle依赖于其他一些bundle,所以安装过程可能会比较慢,需要耐心等待。当输出为:
[OK] All assets were successfully installed.
说明安装完成
为了让admin-bundle可以操作我们的数据库,我们还需要安装doctrine-orm-admin-bundle,执行:
[root@centos7vm mywebsite]# composer require sonata-project/doctrine-orm-admin-bundle "2.3.*"
安装奏鸣曲扩展相当于将一批文件复制到vendor目录下,但实际上我们并没有实际使用过。如果要使用,需要修改app/A*敏*感*词*ernel.php,注册要使用的组件才能生效(所有Symfony2组件的安装都需要这个过程),修改app/A*敏*感*词*ernel.php中的registerBundles()函数, 并在 $bundles = array(...
new Sonata\CoreBundle\SonataCoreBundle(),
new Sonata\BlockBundle\SonataBlockBundle(),
new Knp\Bundle\MenuBundle\KnpMenuBundle(),
new Sonata\DoctrineORMAdminBundle\SonataDoctrineORMAdminBundle(),
new Sonata\AdminBundle\SonataAdminBundle(),
注意:如果bundle已经注册过,就不需要重新注册了
配置 Sonata-admin
Sonata-admin接口是基于SonataBlockBundle,按blocks组织的,所以要先告诉blockbundle有sonata-admin block存在,所以修改app/config/config.yml
添加以下配置(注意缩进):
sonata_block:
default_contexts: [cms]
blocks:
# enable the SonataAdminBundle block
sonata.admin.block.admin_list:
contexts: [admin]
配置好block后,需要为admin-bundle指定路由,这样才能通过url访问。admin-bundle 有自己的一套路由配置,我们只需要加载进去,修改 app/config/routing.yml,添加如下内容:
admin_area:
resource: "@SonataAdminBundle/Resources/config/routing/sonata_admin.xml"
prefix: /admin
OK,清空缓存:
[root@centos7vm mywebsite]# php app/console cache:clear
[root@centos7vm mywebsite]# php app/console assets:install
访问(这里172.16.142.130是我的虚拟机ip,需要改成自己的ip,如果不能访问可以尝试手动清除缓存rm-rf app/cache/*),效果如下: