Plugin Variable can't find template
Just added this note to the Plugin Templates documentation, which should answer your question:




  Craft will only automatically look for templates within the plugin folders for CP requests. If you are going to be calling TemplatesService::render() from a front end site request, you will need to manually tell Craft where to find your template using PathService::setTemplatesPath() first:

$oldPath = craft()-&gt;path-&gt;getTemplatesPath();
$newPath = craft()-&gt;path-&gt;getPluginsPath().'pluginHandle/templates';
craft()-&gt;path-&gt;setTemplatesPath($newPath)
$html = craft()-&gt;templates-&gt;render('path/to/template');
craft()-&gt;path-&gt;setTemplatesPath($oldPath);

  
  If you do this, you won’t be needing to begin the template path with your plugin handle.