Skip to content
Snippets Groups Projects
Commit f9cd6fd4 authored by Grzegorz Rola's avatar Grzegorz Rola
Browse files

Template loader.

parent 7e54daed
No related branches found
No related tags found
1 merge request!18Template loader.
Pipeline #7817 passed with warnings
/vendor/ /vendor/
.git
.idea .idea
<?php
namespace WPDesk\PluginBuilder\Plugin;
/**
* Class BasicTemplateLoader
*/
class BasicTemplateLoader implements TemplateLoader
{
use TemplateLoad;
}
...@@ -20,10 +20,16 @@ trait TemplateLoad { ...@@ -20,10 +20,16 @@ trait TemplateLoad {
/** /**
* Init base variables for plugin * Init base variables for plugin
*
* @param \WPDesk_Plugin_Info $plugin_info Plugin info.
*/ */
public function init_template_base_variables() { public function init_template_base_variables( \WPDesk_Plugin_Info $plugin_info = null ) {
$this->plugin_path = $this->plugin_info->get_plugin_dir(); if ( null === $plugin_info ) {
$this->template_path = $this->plugin_info->get_text_domain(); // Backward compatibility! Do not remove.
$plugin_info = $this->plugin_info;
}
$this->plugin_path = $plugin_info->get_plugin_dir();
$this->template_path = $plugin_info->get_text_domain();
} }
/** /**
...@@ -65,5 +71,31 @@ trait TemplateLoad { ...@@ -65,5 +71,31 @@ trait TemplateLoad {
return trailingslashit( $this->template_path ); return trailingslashit( $this->template_path );
} }
/**
* Set template path.
*
* @param string $template_path Template path.
*/
public function set_template_path( $template_path ) {
$this->template_path = $template_path;
}
/**
* Get plugin path.
*
* @return string
*/
public function get_plugin_path() {
return trailingslashit( $this->plugin_path );
}
/**
* Set plugin path.
*
* @param string $plugin_path Template path.
*/
public function set_plugon_path( $plugin_path ) {
$this->plugin_path = $plugin_path;
}
} }
<?php
namespace WPDesk\PluginBuilder\Plugin;
interface TemplateLoader {
/**
* Init base variables for template loader.
*
* @param \WPDesk_Plugin_Info $plugin_info Plugin info.
*/
public function init_template_base_variables( \WPDesk_Plugin_Info $plugin_info = null );
/**
* Renders end returns selected template
*
* @param string $name Name of the template.
* @param string $path Additional inner path to the template.
* @param array $args args Accessible from template.
*
* @return string
*/
public function load_template( $name, $path = '', $args = array() );
/**
* Get template path.
*
* @return string
*/
public function get_template_path();
/**
* Set template path.
*
* @param string $template_path Template path.
*/
public function set_template_path( $template_path );
/**
* Get plugin path.
*
* @return string
*/
public function get_plugin_path();
/**
* Set plugin path.
*
* @param string $plugin_path Template path.
*/
public function set_plugon_path( $plugin_path );
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment