getolympus / olympus-hera-renderer
Olympus Hera 是一个用于通过 TWIG 模板引擎渲染所有组件视图的捆绑包。
v0.0.6
2020-03-30 00:06 UTC
Requires
- getolympus/olympus-hermes-translator: ^0.0.2
- twig/twig: ^2.0
Requires (Dev)
- phpunit/phpunit: ~5.3
This package is auto-updated.
Last update: 2024-08-29 05:12:58 UTC
README
Olympus Hera Renderer 是一个用于通过 TWIG 模板引擎渲染所有组件视图的捆绑包。
composer require getolympus/olympus-hera-renderer
示例
您可以使用 Hera
渲染器轻松显示 TWIG 模板。
namespace MyCustomPackage; use GetOlympus\Hera\Hera; class MyPackage { protected function displayContent() { /** * Sample extracted from the `Metabox` Zeus-Core component. * @see https://github.com/GetOlympus/Zeus-Core/blob/master/src/Zeus/Metabox/Metabox.php */ // Prepare admin scripts and styles $assets = [ 'scripts' => [], 'styles' => [], ]; $vars = []; // Display fields foreach ($fields as $field) { if (!$field) { continue; } // Update scripts and styles $fieldassets = $field->assets(); if (!empty($fieldassets)) { $assets['scripts'] = array_merge($assets['scripts'], $fieldassets['scripts']); $assets['styles'] = array_merge($assets['styles'], $fieldassets['styles']); } $vars['fields'][] = $field->prepare('metabox', $post, 'post'); } /** * Outside the loop, you'll get an array with these elements: * * $vars = [ * 'fields' => [ * [ * 'context' => 'wordpress', * 'path' => '/path/to/resources/views', * 'template' => 'wordpress.html.twig', * 'vars' => [-- vars used in the target template --] * ], * [-- more and more --], * ] * ]; */ // Render view $render = new Hera('core', 'layouts'.S.'metabox.html.twig', $vars, $assets); $render->view(); } }
初始化
Hera
组件需要通过这种方式进行初始化。
/** * Constructor. * * @param string $context * @param string $template * @param array $vars * @param array $assets * @param bool $usecache */ new Hera($context, $template, $vars, $assets, $usecache);
自定义
如果您需要添加自定义的 TWIG 函数,可以使用 ol_hera_render_functions
动作钩子。
add_action('ol.hera.render_functions', function ($twig) { // Example to use the WordPress `get_header()` function through TWIG: {{ get_header(file) }} $twig->addFunction(new \Twig\TwigFunction('get_header', function ($file = '') { get_header($file); })); });
发布历史
查看 CHANGELOG.md 以获取所有详细信息。
贡献
- 将其叉取 (https://github.com/GetOlympus/Hera-Renderer/fork)
- 创建您的功能分支 (
git checkout -b feature/fooBar
) - 提交您的更改 (
git commit -am 'Add some fooBar'
) - 将更改推送到分支 (
git push origin feature/fooBar
) - 创建新的 Pull Request
由 Achraf Chouk 构建,自很久以前以来一直如此。