PHP code example of getolympus / olympus-hera-renderer

1. Go to this page and download the library: Download getolympus/olympus-hera-renderer library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

getolympus / olympus-hera-renderer example snippets


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();
    }
}

/**
 * Constructor.
 *
 * @param  string  $context
 * @param  string  $template
 * @param  array   $vars
 * @param  array   $assets
 * @param  bool    $usecache
 */
new Hera($context, $template, $vars, $assets, $usecache);

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);
    }));
});