之前添加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
謝謝,現在我知道該怎麼回答。等一下,我正在爲你寫一個答案。 –