Я пытаюсь перезаписать файл шаблона, расположенный в vendor/bolt/bolt/app/view/twig/editcontent/fields/_block.twig
(я хочу заменить раскрывающийся список «Выбор блока»).Относительно # 1173 , # 1269 , # 5588 , # 3768 и # 5102 это не поддерживаетсяпо умолчанию, поэтому я должен написать расширение для этого.Итак, я попробовал это:
BackendBlockSelectionExtension :
namespace Bundle\Site;
use Bolt\Filesystem\Adapter\Local;
use Bolt\Filesystem\Filesystem;
use Silex\Application;
use Bolt\Extension\SimpleExtension;
class BackendBlockSelectionExtension extends SimpleExtension
{
public function getServiceProviders()
{
return [
$this,
new BackendBlockSelectionProvider(),
];
}
}
BackendBlockSelectionProvider :
namespace Bundle\Site;
use Bolt\Filesystem\Adapter\Local;
use Bolt\Filesystem\Filesystem;
use Silex\Application;
use Silex\ServiceProviderInterface;
class BackendBlockSelectionProvider implements ServiceProviderInterface
{
public function register(Application $app)
{
$side = $app['config']->getWhichEnd();
if ($side == 'backend') {
$path = __DIR__ . '/App/templates/Backend';
$filesystem = $app['filesystem'];
$filesystem->mountFilesystem('bolt', new Filesystem(new Local($path)));
$app['twig.loader.bolt_filesystem'] = $app->share(
$app->extend(
'twig.loader.bolt_filesystem',
function ($filesystem, $app) {
$path = __DIR__ . 'src/App/templates/Backend/';
$filesystem->prependPath($path, 'bolt');
return $filesystem;
}
)
);
}
}
public function boot(Application $app)
{
}
}
Это, кажется, делаетработу, но я получил ошибку, которую я совсем не понимаю: The "bolt://app/theme_defaults" directory does not exist.
Итак, мой последний вопрос: есть ли у кого-нибудь примеркод как переписать / изменить vendor/bolt/bolt/app/view/twig/editcontent/fields/_block.twig
, не касаясь папки vendor
?