function __construct($path)
 {
     //set path, strip template directory from it
     $dir = array(WXP::DS(get_template_directory()), WXP::DS(get_stylesheet_directory()));
     $path = str_replace($dir, "", $path);
     $this->path = ltrim($path, "\\/");
 }
 function __toString()
 {
     return (string) WXP::force_return($this->action, $this->param);
 }
 function render($path = null, $name = "")
 {
     $name = $name ?: $this->render_path_name;
     $path = WXP::DS($path) ?: $this->render_path;
     //if path is an alias
     $path = WXP::get_path($path);
     //get view data array with filters applied
     $data = $this->get_data();
     //if this is not the global view, extract
     //the global view vars
     // -- local view vars will overwrite any global view vars
     // -- in scope. Use view_var or __var function to access
     // -- the original global value
     if ($this->namespace !== "global") {
         $global_view_data = View::getInstance()->get_data();
         extract($global_view_data);
     }
     //extract local view data vars if not empty
     if (!empty($data)) {
         extract($data);
     }
     require $path->name($name)->dir();
 }