Ho un'entità. Ho bisogno di eseguire qualche codice JS quando l'entità viene caricata in un popup. C'è un modo per aggiungere un codice JS/HTML personalizzato a un modulo entità tramite la configurazione della classe admin. Per esempio. passare un modello come opzioneCome aggiungere codice JS al modulo entità?
risposta
si può fare in questo modo: -
Aggiungere un parametro di classe nel vostro FormMapper in questo modo: -
configureFormFields funzione protetta (FormMapper $ formMapper) {$ formMapper -> add ('descrizione', null, array ('attr' => array ('class' => 'for_popup'), 'required' => false)) }
Estendere il
edit.html.twig
/base_edit.html.twig
dalla Sonata CRUD Modelli
--- edit.html.twig ----
{% extends 'YourBundle:YourAdminClass:base_edit.html.twig' %}
--- --- base_edit.html.twig
{% block javascripts %}
{{ parent() }}
<script type="text/javascript">
// Your JS code here
</script>
{% endblock %}
Usa il tuo edit.html.twig
invece di Sonata CRUD definendolo nella funzione getEditTemplate (all'interno della classe Admin).
public function getEditTemplate()
{
return 'YourAdminBundle:ControllerName:edit.html.twig';
}
È anche possibile impostare il modello di modifica personalizzato quando si inserisce il servizio di amministrazione.
<service id="sonata.admin.bf" class="Wyzbiz\Bundle\MainBundle\Admin\BfAdmin">
<tag name="sonata.admin" manager_type="orm" group="Content" label="BFs"/>
<argument />
<argument>Wyzbiz\Bundle\MainBundle\Entity\Bf</argument>
<argument>WyzbizMainBundle:CRUD</argument>
<call method="setTranslationDomain"><argument>WyzbizMainBundle</argument></call>
<call method="setTemplate"><argument>list</argument>
<argument>WyzbizMainBundle:CRUD/Bf:list.html.twig</argument></call>
</service>
@Jessica Invece di usare $ this-> setTemplate() all'interno del metodo configureFormFields della classe di amministrazione, è possibile invece aggiungere la tua implementazione del metodo getTemplate, miniera assomiglia a questo:
/**
* Override core method to display custom template(s)
*/
public function getTemplate($name)
{
switch ($name) {
case 'edit':
return 'YourAdminBundle:YourAdminEntity:edit.html.twig';
break;
default:
return parent::getTemplate($name);
break;
}
}
- 1. Come aggiungere pulsanti dinamicamente al mio modulo?
- 2. Come aggiungere un pulsante casuale al modulo
- 3. Java EE/JPA come aggiungere nuove tabelle/entità al database
- 4. Come aggiungere codice PHP al file .tpl
- 5. Come aggiungere contenuto al corpo HTML usando JS?
- 6. Symfony2 Aggiornamento entità modulo
- 7. Come posso aggiungere un titolo al grafico c3.js
- 8. non possono aggiungere git modulo al repository
- 9. Come aggiungere JS a livello di codice in Magento?
- 10. Symfony2 Tipo modulo per le entità aggiungere un'opzione extra
- 11. Aggiungere dinamicamente campi al modulo rasoio
- 12. Aggiungere dinamicamente i campi modulo al modulo django
- 13. Come aggiungere la funzione fasync al codice del modulo del kernel?
- 14. Come aggiungere la funzione di polling al codice del modulo del kernel?
- 15. Modulo dinamico (entità switch) symfony2
- 16. Come aggiungere dinamicamente i controlli al modulo ASP.NET?
- 17. C# - OxyPlot come aggiungere il grafico al modulo di Windows
- 18. Come aggiungere campi aggiuntivi al modulo prima di inviare?
- 19. Quando dovrei aggiungere commenti al mio codice?
- 20. mappatura codice struttura entità entità privata prima
- 21. Come posso aggiungere il mio modulo personalizzato al blocco personalizzato nel mio modulo personalizzato
- 22. aggiungere il file parziale al file di modulo esistente
- 23. Come posso aggiungere l'evidenziazione JSON al codice nel commento Jira?
- 24. Entity Framework aggiungere nuova entità
- 25. JS modulo modello funzione override
- 26. modulo non presentando con JS
- 27. campo CCK Aggiungere al modulo personalizzato in Drupal 7
- 28. Come aggiungere dinamicamente intervallo al timestamp?
- 29. Passaggio della funzione JS al codice generato da Emscripten
- 30. Come aggiungere l'immagine in Quill JS?
base_edit dovrebbe estendere il modello di sonata crud? Dovrei specificare il tag di estensione in questo modello o posso semplicemente posizionare questo modello nello stesso percorso del bundle sonata? Grazie per il vostro aiuto –
Non toccare nulla in Sonata. Copia semplicemente il file base_edit.html.twig nella cartella YourBundle/Resources/YourController /. Aggiornerò la risposta per spiegare come. – Amit
Sonata ha apparentemente sostituito la funzione getEditTemplate() con getTemplate ('edit'), rendendo questo più difficile. Quello che ho finito è stato: $ this-> setTemplate ('edit', 'MyBundle: Admin: edit_user.html.twig'); all'interno del mio admin configureFormFields() – Jessica