2015-03-15 12 views

risposta

6

Sembra che si dovrà creare il proprio comando:

<?php 

namespace Your\Namespace\Command; 

use Symfony\Bundle\AsseticBundle\Command\AbstractCommand; 

class DumpSingleAsset extends AbstractCommand 
{ 
    protected function configure() 
    { 
     $this 
      ->setName('assetic:dump_single_asset') 
      ->setDescription('Dumps a single asset') 
      ->addArgument('name', InputArgument::REQUIRED, 'The name of the asset') 
     ; 
    } 


    protected function execute(InputInterface $input, OutputInterface $output) 
    { 
     $name = $input->getArgument('name'); 
     $this->dumpAsset($name, $output); // Inherited from AbstractCommand 
    } 
} 

Assetic docs mostra un modo molto più semplice per scaricare le attività, ma non sono riuscito a trovare alcuna documentazione delle parti interne AsseticBundle, ho appena letto the code of the Command.

0

Io ho la mia propria soluzione difficile difficile per un problema simile perché ho bisogno di eseguire il dump beni non presenti su modelli ramoscello provenienti da file di database o JSON.

Con solo il nome della risorsa, non capisco come si potrebbe fare senza ulteriori spiegazioni. Se si stampa $ nome valore quando si esegue il dump assetico, si ottiene qualcosa come 'afd49f7'. Symfony2 legge tutti i blocchi javascript e fogli di stile sui modelli di ramoscelli e assegna automaticamente questo nome chiave.

Se si tenta di ridimensionare un file manualmente è preferibile utilizzare direttamente yui-compressor o simili, altrimenti è necessario eseguire il dump di una raccolta di risorse in un file (una raccolta può contenere solo un file) o un singolo file ma utilizzando symfony2 è necessario utilizzare "risorse nominate" e qualcosa come il comando suggerito da parla. Vedere la sezione corretta su How to Use Assetic for Asset Management e controllare anche AsseticBundle Configuration.

In ogni caso, il comando precedente non funziona su Symfony2 v2.3 (LTS) perché il metodo dumpAsset è dichiarato privato su DumpCommand e AbstractCommand non esiste.

Se si usa Symfony2 v2.3, è necessario riscrivere l'intero comando aggiungendo l'opzione --name e cambiare ->setName('assetic:dump') per qualcos'altro.

Problemi correlati