ten*_*opl 8 javascript symfony symfony-sonata sonata-admin
在管理类中:
protected function configureFormFields(FormMapper $formMapper) {
$formMapper
->add('name', 'text')
->add('description', 'text')
;
}
Run Code Online (Sandbox Code Playgroud)
我不知道在"名字"添加javascript之前我怎么能,你能帮助我吗?
ten*_*opl 21
为我工作:
在管理类src\PP\TestBundle\TestAdmin.php中
public function configure() {
$this->setTemplate('edit', 'PPTestBundle:CRUD:edit_javascript.html.twig');
}
Run Code Online (Sandbox Code Playgroud)
在src\PP\TestBundle\Resources\views\edit_javascript.html.twig中
{% extends 'SonataAdminBundle:CRUD:base_edit.html.twig' %}
{% block javascripts %}
{{ parent() }}
<script src="{{ asset('bundles/pptest/admin/js/myscripts.js') }}" type="text/javascript"></script>
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
当你完成所有这些工作并且你已经上传了myscripts.js时,你应该在命令行中发送它:
app/console assets:install web
Run Code Online (Sandbox Code Playgroud)
(可能我忘记了什么)
抱歉我的英文不好:<>
EDITED
1º您需要为它创建一个自定义TWIG模板(您可以在窗口小部件代码之前放置您的javascript代码).
2º然后,您ap/config/config.yml在自定义模板的内部写入,以允许Symfony和SonataAdmin识别它.
1º你在这里有一些信息索纳塔管理员 - 自定义模板
2º更多信息在这里自定义字段类型
一个例子可能是这样的:
管理员班
protected function configureFormFields(FormMapper $formMapper) {
$formMapper
->add('name', 'ajax_autocomplete')
->add('description', 'text')
;
}
Run Code Online (Sandbox Code Playgroud)
而且,在TWIG模板中,您需要从更适合您的必需品的Sonata Admin字段模板进行扩展.在这种情况下可能base_edit.html.twig或edit_text.html.twig
在这个Sonata Admin目录中,您有一个要扩展的模板列表: vendor\sonata-project\admin-bundle\Sonata\AdminBundle\Resources\views\CRUD
定制
想象一下,您已将自定义模板放入其中 XXXBundle:YYY:ajax_autocomplete.html.twig
我认为如果你在这里写一行,它应该工作:
sonata_doctrine_orm_admin:
templates:
types:
list:
ajax_autocomplete: XXXBundle:YYY:ajax_autocomplete.html.twig
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9024 次 |
| 最近记录: |