I am trying to override SymfonyGeneratorBundle templates by creating
\app\Resources\SensioGeneratorBundle\skeleton\crud\views\index.html.twig
That file should replace:
\vendor\bundles\Sensio\Bundle\GeneratorBundle\Resources\skeleton\crud\views\index.html.twig
But it still uses original file even after cache:clear.
How to do that w/o creating new bundle like Can't override the standard skeleton views in Symfony2 GeneratorBundle ?
Register your bundle right after SensioGeneratorBundle
in app/AppKernel.php
eg:
// app/AppKernel.php
if (in_array($this->getEnvironment(), array('dev', 'test'))) {
//.....
$bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
$bundles[] = new Namespace\YourBundle();
}
// Or outside if, should you want your bundle to be available in production environment
$bundles[] = new Namespace\YourBundle();
Then in YourBundle.php
override registerCommands
method,
// Bundle\YourBundle.php
// other declarations
use Symfony\Component\Console\Application;
use Sensio\Bundle\GeneratorBundle\Generator\DoctrineCrudGenerator;
use Symfony\Component\Filesystem\Filesystem;
public function registerCommands(Application $application){
$crudCommand = $application->get('generate:doctrine:crud');
$generator = new DoctrineCrudGenerator(new FileSystem, __DIR__.'/Resources/skeleton/crud');
$crudCommand->setGenerator($generator);
parent::registerCommands($application);
}
You have to copy skeleton
folder to YourBundle\\Resource
and modify templates.
To override the edit template, for example, in 2.3+ version, copy the file:
vendor/sensio/generator-bundle/Sensio/Bundle/GeneratorBundle/Resources/skeleton/crud/views/edit.html.twig.twig
for the directory:
app/Resources/SensioGeneratorBundle/skeleton/crud/views/edit.html.twig.twig
Now, just generate crud with the default command and it will use the new template.
The answer of m2mdas worked for me, but only after discovering that it should read
Filesystem instead of FileSystem!
Take a look at your vendors/symfony/.../Filesystem folder to verify this.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.