Grantlee 0.1.9
|
The FileSystemTemplateLoader loads Templates from the file system. More...
#include <grantlee/templateloader.h>
Public Member Functions | |
FileSystemTemplateLoader () | |
virtual | ~FileSystemTemplateLoader () |
bool | canLoadTemplate (const QString &name) const |
QPair< QString, QString > | getMediaUri (const QString &fileName) const |
Template | loadByName (const QString &name, Engine const *engine) const |
void | setTemplateDirs (const QStringList &dirs) |
void | setTheme (const QString &themeName) |
QStringList | templateDirs () const |
QString | themeName () const |
This template loader works by traversing a list of directories to find templates. Directories are checked in order, and the first match hit is parsed and returned.
loader->setTemplateDirs(QStringList() << "/home/user/app/templates" << "/usr/local/share/app/templates" ); engine->setTemplateLoader( loader ); // This will try /home/user/app/templates/mytemplate.html // followed by /usr/local/share/app/templates/mytemplate.html engine->loadByName( "mytemplate.html" );
Additionally, a themeName may be set on the template loader, which will be appended to search paths before the template name.
loader->setTemplateDirs(QStringList() << "/home/user/app/templates" << "/usr/local/share/app/templates" ); loader->setTheme( "simple_theme" ); engine->setTemplateLoader( loader ); // This will try /home/user/app/templates/simple_theme/mytemplate.html // followed by /usr/local/share/app/templates/simple_theme/mytemplate.html engine->loadByName( "mytemplate.html" );
Media URIs may be retrieved for media relative to the directories searched queried for templates.
loader->setTemplateDirs(QStringList() << "/home/user/app/templates" << "/usr/local/share/app/templates" ); loader->setTheme( "simple_theme" ); engine->setTemplateLoader( loader ); // This will try /home/user/app/templates/simple_theme/logo.png // followed by /usr/local/share/app/templates/simple_theme/logo.png // and return the first one that exists. engine->mediaUri( "logo.png" );
The template files loaded by a FileSystemTemplateLoader must be UTF-8 encoded.
Definition at line 123 of file templateloader.h.
Grantlee::FileSystemTemplateLoader::FileSystemTemplateLoader | ( | ) |
Constructor
virtual Grantlee::FileSystemTemplateLoader::~FileSystemTemplateLoader | ( | ) | [virtual] |
Destructor
bool Grantlee::FileSystemTemplateLoader::canLoadTemplate | ( | const QString & | name | ) | const [virtual] |
Return true if a Template identified by name
exists and can be loaded.
Implements Grantlee::AbstractTemplateLoader.
QPair<QString, QString> Grantlee::FileSystemTemplateLoader::getMediaUri | ( | const QString & | fileName | ) | const [virtual] |
Return a complete URI for media identified by fileName.
Implements Grantlee::AbstractTemplateLoader.
Template Grantlee::FileSystemTemplateLoader::loadByName | ( | const QString & | name, |
Engine const * | engine | ||
) | const [virtual] |
Load a Template called name
. Return an invalid Template if no content by that name exists.
Implements Grantlee::AbstractTemplateLoader.
void Grantlee::FileSystemTemplateLoader::setTemplateDirs | ( | const QStringList & | dirs | ) |
Sets the directories to look for template files to dirs
.
Reimplemented in Grantlee::LocalizedFileSystemTemplateLoader.
void Grantlee::FileSystemTemplateLoader::setTheme | ( | const QString & | themeName | ) |
Sets the theme of this loader to themeName
Reimplemented in Grantlee::LocalizedFileSystemTemplateLoader.
QStringList Grantlee::FileSystemTemplateLoader::templateDirs | ( | ) | const |
The directories this TemplateLoader looks in for template files.
QString Grantlee::FileSystemTemplateLoader::themeName | ( | ) | const |
The themeName of this TemplateLoader