En primer lugar: Las vistas esqueleto correspondientes se encuentran en:
vendor/bundles/Sensio/Bundle/GeneratorBundle/Resources/skeleton/crud
rápida y sucia que debe estar bien reemplazando estos archivos de vista - pero eso no es lo que queremos;)
En:
vendor/bundles/Sensio/Bundle/GeneratorBundle/Command/GenerateDoctrineCrudCommand.php
no es un descriptor de acceso para el generador:
protected function getGenerator()
{
if (null === $this->generator) {
$this->generator = new DoctrineCrudGenerator($this->getContainer()->get('filesystem'), __DIR__.'/../Resources/skeleton/crud');
}
return $this->generator;
}
Puede intentar anular este método en su paquete extendido y establecer un $skeletonDir
diferente en el constructor.
Editar:
Ejemplo rápido en mi entorno de prueba de cómo se puede lograr (Sólo hice una prueba rápida;):
generar un nuevo paquete para el generador personalizado: php app/console generate:bundle
y siga las instrucciones. Una ruta no es necesaria. Elegí para este ejemplo: Acme/CrudGeneratorBundle (O use un paquete existente)
Cree una carpeta llamada "Comando" en el directorio del paquete recién creado.
Coloque una clase de comando en esta carpeta.
<?php
//src/Acme/CrudGeneratorBundle/Command/MyDoctrineCrudCommand.php
namespace Acme\CrudGeneratorBundle\Command;
use Sensio\Bundle\GeneratorBundle\Generator\DoctrineCrudGenerator;
class MyDoctrineCrudCommand extends \Sensio\Bundle\GeneratorBundle\Command\GenerateDoctrineCrudCommand
{
protected function configure()
{
parent::configure();
$this->setName('mydoctrine:generate:crud');
}
protected function getGenerator()
{
$generator = new DoctrineCrudGenerator($this->getContainer()->get('filesystem'), __DIR__.'/../Resources/skeleton/crud');
$this->setGenerator($generator);
return parent::getGenerator();
}
}
Copiar el vendedor/paquetes/Sensio/Bundle/GeneratorBundle/Recursos/esqueleto/crud a sus Recursos (en mi ejemplo "src/Acme/CrudGeneratorBundle/Recursos/crud")
¡Definitivamente no quiero hacer el truco rápido y sucio! Pero traté de anular la función getGenerator y esto todavía no funciona. –
Actualicé la respuesta con un ejemplo de cómo la hice funcionar. Aún así, esto es piratear. – madflow