Я много экспериментировал с Assetic для проекта и наткнулся на способ сделать именно то, что вы просите. Если строка «output» содержит «*», то вместо нее подставляется произвольно сгенерированная дермином строка.
Например, у меня есть следующее в шаблоне (PHP, мы не используем веточку):
<?php foreach($view['assetic']->javascripts(array('@MyBundle/Resources/public/js/page.js'), array(), array('output' => 'js/compiled/page_*.js')) as $url): ?>
<script type="text/javascript" src="<?php echo $view->escape($url) ?>"></script>
<?php endforeach; ?>
<?php foreach($view['assetic']->stylesheets(array('@MyBundle/Resources/public/css/page.css'), array(), array('output' => 'css/compiled/page_*.css')) as $url): ?>
<link rel="stylesheet" href="<?php echo $view->escape($url) ?>" />
<?php endforeach; ?>
Когда я запускаю сборку приложения / консоли: dump, она генерирует /web/css/compiled/page_8e8fcb3.css и /web/js/compiled/page_241b4e5.js.