之前添加JavaScript在管理类:的Symfony2 - 索纳塔管理员 - 场
protected function configureFormFields(FormMapper $formMapper) {
$formMapper
->add('name', 'text')
->add('description', 'text')
;
}
我不知道我可以前的“名”添加JavaScript,你能帮帮我吗?
之前添加JavaScript在管理类:的Symfony2 - 索纳塔管理员 - 场
protected function configureFormFields(FormMapper $formMapper) {
$formMapper
->add('name', 'text')
->add('description', 'text')
;
}
我不知道我可以前的“名”添加JavaScript,你能帮帮我吗?
工作对我来说:
在管理类的src \ PP \ TestBundle \ TestAdmin.php
public function configure() {
$this->setTemplate('edit', 'PPTestBundle:CRUD:edit_javascript.html.twig');
}
在的src \ PP \ TestBundle \资源\意见\ 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 %}
当你做所有这些东西和哟你有上传myscripts。JS,你应该在命令行中发出这样的:
app/console assets:install web
(可能是我忘了什么事)
对不起,我英文不好:<>
如果您需要从捆绑软件安装资产,请改用'app/console assets:install web --symlink'来避免复制资源... –
EDITED
1°你需要为它创建一个自定义模板TWIG(在那里你可以把你的javascript代码只是小部件代码之前)。
2º然后,您在ap/config/config.yml
内部编写自定义模板,让Symfony和SonataAdmin识别它。
1°您这里有一些信息Sonata Admin - Custom template
2º更多的信息在这里customize field types
一个例子可能是这样的:
管理类
protected function configureFormFields(FormMapper $formMapper) {
$formMapper
->add('name', 'ajax_autocomplete')
->add('description', 'text')
;
}
而且,在TWIG模板中,您需要从更适合您的必需品的Sonata Admin字段模板中进行扩展。在这种情况下,也许base_edit.html.twig
或edit_text.html.twig
你的模板列表,以便延长本索纳塔管理目录内: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
你需要添加JavaScript的特定领域(在这种情况下是'name'字段)?你能告诉我更多关于你想做什么的吗? –
我想从ajax创建自动完成名称。 – tengopl
谢谢,现在我知道该怎么回答。等一下,我正在为你写一个答案。 –