mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-17 11:11:04 +01:00
templates.js - if custom theme is missing a template, render default template
This commit is contained in:
@@ -62,12 +62,13 @@
|
|||||||
|
|
||||||
function loadTemplates(templatesToLoad, customTemplateDir) {
|
function loadTemplates(templatesToLoad, customTemplateDir) {
|
||||||
function loadServer() {
|
function loadServer() {
|
||||||
var loaded = templatesToLoad.length;
|
var loaded = templatesToLoad.length,
|
||||||
|
templatesPath = __dirname + '/../templates';
|
||||||
|
|
||||||
function getTemplates(directory) {
|
function getTemplates(directory) {
|
||||||
for (var t in templatesToLoad) {
|
for (var t in templatesToLoad) {
|
||||||
(function (file) {
|
(function (file) {
|
||||||
fs.readFile(directory + '/' + file + '.tpl', function (err, html) {
|
function loadFile(html) {
|
||||||
var template = function () {
|
var template = function () {
|
||||||
this.toString = function () {
|
this.toString = function () {
|
||||||
return this.html;
|
return this.html;
|
||||||
@@ -84,17 +85,27 @@
|
|||||||
if (loaded === 0) {
|
if (loaded === 0) {
|
||||||
templates.ready();
|
templates.ready();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fs.readFile(directory + '/' + file + '.tpl', function (err, html) {
|
||||||
|
if (err && directory !== templatesPath) {
|
||||||
|
fs.readFile(templatesPath + '/' + file + '.tpl', function (err, html) {
|
||||||
|
loadFile(html);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
loadFile(html);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}(templatesToLoad[t]));
|
}(templatesToLoad[t]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (customTemplateDir) {
|
if (customTemplateDir) {
|
||||||
fs.exists(customTemplateDir, function (exists) {
|
fs.exists(customTemplateDir, function (exists) {
|
||||||
var directory = (exists ? customTemplateDir : __dirname + '/../templates');
|
var directory = (exists ? customTemplateDir : templatesPath);
|
||||||
getTemplates(directory);
|
getTemplates(directory);
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
getTemplates(__dirname + '/../templates');
|
getTemplates(templatesPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -113,6 +124,7 @@
|
|||||||
|
|
||||||
|
|
||||||
templates.init = function (templates_to_load, custom_templates) {
|
templates.init = function (templates_to_load, custom_templates) {
|
||||||
|
console.log(templates_to_load, custom_templates);
|
||||||
loadTemplates(templates_to_load || [], custom_templates || false);
|
loadTemplates(templates_to_load || [], custom_templates || false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user