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
) - 创建新的拉取请求
由 Achraf Chouk 使用♥构建 ~ (c) 很久以前。