
Files to change:
- addcomments.tpl (add tag question/answer)
- addnews.tpl (add tag question/answer)
- comments.tpl
- feedback.tpl
- fullstory.tpl
- shortstory.tpl
- login.tpl (add tag do not remember me option)
- pm.tpl
- profile_popup.tpl (add tag subscribe to user RSS feed and change tags)
- registration.tpl (add tag question/answer)
- userinfo.tpl (Change tags)
- preview.css (add pre code style)
- /style/engine.css (add pre code style)
- .htaccess (change structure for template protection)
Files to add:
- frame.css (popup windows page)
- print.tpl (articles print page)
- relatednews.tpl (additional files for related news module)
- static_print.tpl (static print page)
- topnews.tpl (additional files for top news module)
- dleimages/no_image.jpg
- dleimages/noavatar.png
- bbcodes/typograf.gif
- images/button.png
- images/loading.gif
- images/offline.png
- images/online.png
- images/shadow.png
- images/tableft.gif
- images/tabright.gif
Files to change
1) Open addcomments.tpl
Find
[sec_code]
Add before:
[question]
<tr>
<td class="label">Question:</td>
<td><div>{question}</div></td>
</tr>
<tr>
<td class="label">Answer:<span class="impot">*</span></td>
<td><div><input type="text" name="question_answer" id="question_answer" class="f_input" /></div></td>
</tr>
[/question]
2) Open addnews.tpl
Add the following code on the beginning of the file:
<link rel="stylesheet" type="text/css" href="engine/skins/chosen/chosen.css"/>
<script type="text/javascript" src="engine/skins/chosen/chosen.js"></script>
<script type="text/javascript">
$(function(){
$('#category').chosen({allow_single_deselect:true, no_results_text: 'No category found or not selected'});
});
</script>
Find:
[sec_code]
Add before:
[question]
<tr>
<td class="label">Question:</td>
<td><div>{question}</div></td>
</tr>
<tr>
<td class="label">Answer:<span class="impot">*</span></td>
<td><div><input type="text" name="question_answer" class="f_input" /></div></td>
</tr>
[/question]
3) Open comments.tpl
Find
<li>[com-edit]Edit[/com-edit]</li>
Add before
<li>[complaint]Report Abuse[/complaint]</li>
Find:
<li>Registration: {registration}</li>
Add after:
<li>Status: [online]<img src="{THEME}/images/online.png" style="vertical-align: middle;" title="Currently Online" alt="Currently Online" />[/online][offline]<img src="{THEME}/images/offline.png" style="vertical-align: middle;" title="Currently Offline" alt="Currently Offline" />[/offline]</li>
4) Open the file feedback.tpl
Find:
</tr>[/recaptcha]
Add after:
[question]
<tr>
<td class="label">
Security Question:
</td>
<td>
<div>{question}</div>
</td>
</tr>
<tr>
<td class="label">
Answer:<span class="impot">*</span>
</td>
<td>
<div><input type="text" name="question_answer" id="question_answer" class="f_input" /></div>
</td>
</tr>
[/question]
5/6)Open fullstory.tpl and shortstory.tpl
Find:
<div class="ratebox"><div class="rate">{rating}</div></div>
Replace with:
[rating]<div class="ratebox"><div class="rate">{rating}</div></div>[/rating]
7) Open login.tpl
Find:
<label for="login_name">Name:</label><input type="text" name="login_name" id="login_name" />
Replace with:
<label for="login_name">{login-method}</label><input type="text" name="login_name" id="login_name" />
Note: the theme design maybe vary, so don't worry if you can't find the code above, this upgrade instruction is base on the "Default" theme that comes with script, so if you are not using Default theme then please note this option is for "Login" method, the tag is only to let your site members know that which method your website is setting to login by using "Username" or "E-mail", so the exactly purpose of tag {login-method} is to switch between method text, so if you have special design on your theme, you just need to put the text to tell your members which method you use for login in your website, so that you don't have to put the tag {login-method} in your theme, for example www.dlestarter.com is using email login method and we use icon for login input, so we just use email icon and text to tell our members that we use email login, not username...so that's good example.
Find:
<li class="lbtn"><button class="fbutton" onclick="submit();" type="submit" title="Login"><span>Login</span></button></li>
Add before:
<li class="lfield lfchek"><input type="checkbox" name="login_not_save" id="login_not_save" value="1"/><label for="login_not_save"> Do not remember me</label></li>
Checkbox:
<input type="checkbox" name="login_not_save" id="login_not_save" value="1" />
And text for checkbox label:
Do not remember meSo you can apply them to your own design theme without having to worry some tags and code maybe missing like I said above, the theme designs are different from Default theme...!
8) Open pm.tpl
Find:
<div class="dpad">[inbox]Inbox[/inbox] | [outbox]Outbox[/outbox] | [new_pm]Send New PM[/new_pm]</div>
Replace with:
<div class="dpad">
<div class="pm_status">
<div class="pm_status_head">PM Statistics</div>
<div class="pm_status_content">PM for your account usages:
{pm-progress-bar}
{proc-pm-limit}% out of ({pm-limit} allowed)
</div>
</div>
<div style="padding-top:10px;">[inbox]Inbox[/inbox]<br /><br />
[outbox]Outbox[/outbox]<br /><br />
[new_pm]Send New PM[/new_pm]</div>
</div><br />
<div class="clr"></div>
- {pm-progress-bar} this is the bar to show the level of pm box in your account
- {proc-pm-limit}% this is the percentage of usages
- {pm-limit} this is the total PM message allowed for your user account (Set in usergroup manager)
Find:
</tr> [/recaptcha]
Add after:
[question]
<tr>
<td class="label">
Security Question:
</td>
<td>
<div>{question}</div>
</td>
</tr>
<tr>
<td class="label">
Answer:<span class="impot">*</span>
</td>
<td>
<div><input type="text" name="question_answer" id="question_answer" class="f_input" /></div>
</td>
</tr>
[/question]
9) Open profile_popup.tpl
Find:
{news_num} [ {news} ]
Add after:
[rss]<img src="{THEME}/images/rss.png" alt="rss" style="vertical-align: middle; margin-left: 5px;" />[/rss]
Find:
{news_num}
Replace with:
{news-num}
Find:
{comm_num}
Replace with:
{comm-num}
Find:
<li><span class="grey">Last Visited:</span> <b>{lastdate}</b></li>
Replace with:
<li><span class="grey">Last Visited:</span> <b>{lastdate}</b>, <span class="grey">Status:</span> [online]<img src="{THEME}/images/online.png" style="vertical-align: middle;" title="Currently Online" alt="Currently Online" />[/online][offline]<img src="{THEME}/images/offline.png" style="vertical-align: middle;" title="Currently Offline" alt="Currently Offline" />[/offline]</li>
10) Open registration.tpl
Find:
[sec_code]
Add before:
[question]
<tr>
<td class="label">Question:</td>
<td><div>{question}</div></td>
</tr>
<tr>
<td class="label">Answer:<span class="impot">*</span></td>
<td><div><input type="text" name="question_answer" class="f_input" /></div></td>
</tr>
[/question]
11) Open userinfo.tpl
Find:
{news_num}
Replace with:
{news-num}
Find:
{comm_num}
Replace with:
{comm-num}
Find:
<li><span class="grey">Last visited:</span> <b>{lastdate}</b></li>
Add after:
<li>Status: [online]<img src="{THEME}/images/online.png" style="vertical-align: middle;" title="Currently Online" alt="Currently Online" />[/online][offline]<img src="{THEME}/images/offline.png" style="vertical-align: middle;" title="Currently Offline" alt="Currently Offline" />[/offline]</li>
Find:
{edituser}
Replace with:
[not-logged]{edituser}[/not-logged]
12/13) Open /style/engine.css and preview.css
Add the following code at the end:
/*--- Code tag highlight [ code ]---*/
pre code {
display: block; padding: 0.5em;
background: #f9fafa;
border: 1px solid #dce7e7;
overflow:auto;
white-space: pre;
}
pre .comment,
pre .template_comment,
pre .diff .header,
pre .doctype,
pre .lisp .string,
pre .javadoc {
color: #93a1a1;
font-style: italic;
}
pre .keyword,
pre .css .rule .keyword,
pre .winutils,
pre .javascript .title,
pre .method,
pre .addition,
pre .css .tag,
pre .lisp .title {
color: #859900;
}
pre .number,
pre .command,
pre .string,
pre .tag .value,
pre .phpdoc,
pre .tex .formula,
pre .regexp,
pre .hexcolor {
color: #2aa198;
}
pre .title,
pre .localvars,
pre .function .title,
pre .chunk,
pre .decorator,
pre .builtin,
pre .built_in,
pre .lisp .title,
pre .identifier,
pre .title .keymethods,
pre .id {
color: #268bd2;
}
pre .tag .title,
pre .rules .property,
pre .django .tag .keyword {
font-weight: bold;
}
pre .attribute,
pre .variable,
pre .instancevar,
pre .lisp .body,
pre .smalltalk .number,
pre .constant,
pre .class .title,
pre .parent,
pre .haskell .label {
color: #b58900;
}
pre .preprocessor,
pre .pi,
pre .shebang,
pre .symbol,
pre .diff .change,
pre .special,
pre .keymethods,
pre .attr_selector,
pre .important,
pre .subst,
pre .cdata {
color: #cb4b16;
}
pre .deletion {
color: #dc322f;
}
pre .tex .formula {
background: #eee8d5;
}
13) Open style/engine.css
Add the following code at the end:
/*---progress bar length for personal messages---*/
.pm_progress_bar {
border: 1px solid #d8d8d8;
padding: 1px;
margin-top: 10px;
margin-bottom: 10px;
}
.pm_progress_bar span {
background: #000000;
font-size: 0em;
text-indent: -2000em;
height: 10px;
display: block;
overflow: hidden;
}
/*---Displaying the results of voting on the website---*/
.voteprogress {
overflow: hidden;
height: 15px;
margin-bottom: 5px;
background-color: #f7f7f7;
background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);
background-image: -ms-linear-gradient(top, #f5f5f5, #f9f9f9);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));
background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);
background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9);
background-image: linear-gradient(top, #f5f5f5, #f9f9f9);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#f9f9f9', GradientType=0);
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
.voteprogress span {
color: #ffffff;
text-align: center;
text-indent: -2000em;
height: 15px;
display: block;
overflow: hidden;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
background: #0e90d2;
background-image: -moz-linear-gradient(top, #149bdf, #0480be);
background-image: -ms-linear-gradient(top, #149bdf, #0480be);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));
background-image: -webkit-linear-gradient(top, #149bdf, #0480be);
background-image: -o-linear-gradient(top, #149bdf, #0480be);
background-image: linear-gradient(top, #149bdf, #0480be);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#149bdf', endColorstr='#0480be', GradientType=0);
}
.voteprogress .vote2 {
background-color: #dd514c;
background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));
background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
background-image: linear-gradient(top, #ee5f5b, #c43c35);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);
}
.voteprogress .vote3 {
background-color: #5eb95e;
background-image: -moz-linear-gradient(top, #62c462, #57a957);
background-image: -ms-linear-gradient(top, #62c462, #57a957);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));
background-image: -webkit-linear-gradient(top, #62c462, #57a957);
background-image: -o-linear-gradient(top, #62c462, #57a957);
background-image: linear-gradient(top, #62c462, #57a957);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);
}
.voteprogress .vote4 {
background-color: #4bb1cf;
background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));
background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
background-image: linear-gradient(top, #5bc0de, #339bb9);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0);
}
.voteprogress .vote5 {
background-color: #faa732;
background-image: -moz-linear-gradient(top, #fbb450, #f89406);
background-image: -ms-linear-gradient(top, #fbb450, #f89406);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
background-image: -o-linear-gradient(top, #fbb450, #f89406);
background-image: linear-gradient(top, #fbb450, #f89406);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0);
}
/*---Displaying the results of poll in the news---*/
.pollprogress {
overflow: hidden;
height: 18px;
margin-bottom: 5px;
background-color: #f7f7f7;
background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);
background-image: -ms-linear-gradient(top, #f5f5f5, #f9f9f9);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));
background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);
background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9);
background-image: linear-gradient(top, #f5f5f5, #f9f9f9);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#f9f9f9', GradientType=0);
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
.pollprogress span {
color: #ffffff;
height: 18px;
display: block;
overflow: hidden;
font-size: 12px;
text-align: center;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
background: #0e90d2;
background-image: -moz-linear-gradient(top, #149bdf, #0480be);
background-image: -ms-linear-gradient(top, #149bdf, #0480be);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));
background-image: -webkit-linear-gradient(top, #149bdf, #0480be);
background-image: -o-linear-gradient(top, #149bdf, #0480be);
background-image: linear-gradient(top, #149bdf, #0480be);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#149bdf', endColorstr='#0480be', GradientType=0);
}
.pollprogress .poll2 {
background-color: #dd514c;
background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));
background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
background-image: linear-gradient(top, #ee5f5b, #c43c35);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);
}
.pollprogress .poll3 {
background-color: #5eb95e;
background-image: -moz-linear-gradient(top, #62c462, #57a957);
background-image: -ms-linear-gradient(top, #62c462, #57a957);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));
background-image: -webkit-linear-gradient(top, #62c462, #57a957);
background-image: -o-linear-gradient(top, #62c462, #57a957);
background-image: linear-gradient(top, #62c462, #57a957);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);
}
.pollprogress .poll4 {
background-color: #4bb1cf;
background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));
background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
background-image: linear-gradient(top, #5bc0de, #339bb9);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0);
}
.pollprogress .poll5 {
background-color: #faa732;
background-image: -moz-linear-gradient(top, #fbb450, #f89406);
background-image: -ms-linear-gradient(top, #fbb450, #f89406);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
background-image: -o-linear-gradient(top, #fbb450, #f89406);
background-image: linear-gradient(top, #fbb450, #f89406);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0);
}
14) Open style/styles.css
Add the following code at the end:
.pm_status {
float:left;
border: 1px solid #d8d8d8;
padding: 0px;
background-color: #fff;
width: 280px;
height: 100px;
margin-left: 20px;
margin-right: 5px;
}
.pm_status_head {
border-bottom: 1px solid #d8d8d8;
font-size: 0.9em;
background: #fff url("../images/bbcodes.png") repeat-x 0 100%;
height: 22px;
padding: 0;
font-weight: bold;
text-align: center;
color: #4e4e4e;
}
15) open the {THEME}/.htaccess
replace all the code inside the file with the following contents:
Order allow,deny Deny from all <FilesMatch ".(css)$|^$"> Order deny,allow Allow from all </FilesMatch>For example if you are using theme "WStarter" then the file /templates/WStarter/.htaccess must contain the code above
16) Add image dleimages/noavatar.png
Files to add (Download from attached file)
Please download the attached file and place them within folder /templates/YOUR THEME/The following files are included in the package (You can use your own images if you like)
- frame.css (popup windows page)
- print.tpl (articles print page)
- relatednews.tpl (additional files for related news module)
- static_print.tpl (static print page)
- topnews.tpl (additional files for top news module)
- dleimages/no_image.jpg
- bbcodes/typograf.gif
- images/button.png
- images/loading.gif
- images/offline.png
- images/online.png
- images/shadow.png
- images/tableft.gif
- images/tabright.gif
topnews.tpl
Example Code:
<li><a href="{link}">{title}</a></li>
- {link}: is the full link url for the article, it will automatically converted to any link formats of your SEO settings or none SEO
- {title}: is the actual article title
Additional Tags for DLE 9.5,9.6 in user profile and commnets
The following tags are applied to template files userinfo.tpl and comments.tpl
- [fullname]xxx[/fullname] is used for open and close tag if full name field {fullname} was input, for example, in templates/Default/userinfo.tpl,
Find:
<li><span class="grey">Full name:</span> <b>{fullname}</b></li>Replace with:
[fullname]<li><span class="grey">Full name:</span> <b>{fullname}</b></li>[/fullname]If the user input the information in Full name filed then it will show, if not then nothing will show, this tag is intended for remove empty fields in user profile and comments - [icq]xxx[/icq] is used for open and close tag if icq field {icq} was input, for example, in templates/Default/userinfo.tpl,
Find:
<li><span class="grey">ICQ:</span> <b>{icq}</b></li>Replace with:
[icq]<li><span class="grey">ICQ:</span> <b>{icq}</b></li>[/icq]If the user input the information in icq filed then it will show, if not then nothing will show, this tag is intended for remove empty fields in user profile and comments - [land]xxx[/land] is used for open and close tag if location field {land} was input, for example, in templates/Default/userinfo.tpl,
Find:
<li><span class="grey">Location:</span> {land}</li>Replace with:
[land]<li><span class="grey">Location:</span> {land}</li>[/land]If the user input the information in location filed then it will show, if not then nothing will show, this tag is intended for remove empty fields in user profile and comments - [info]xxx[/info] is used for open and close tag if short information field {info} was input, for example, in templates/Default/userinfo.tpl,
Find:
<li><span class="grey">Information:</span> {info}</li>Replace with:
[info]<li><span class="grey">Information:</span> {info}</li>[/info]If the user input the information in short information filed then it will show, if not then nothing will show, this tag is intended for remove empty fields in user profile and comments - [signature]xxx[/signature] is used for open and close tag if signature field {signature} was filled, for example,
Example Code:
[signature]<hr /> <b>{signature}</b>[/signature]If the user filled the information in signature filed then it will show, if not then nothing will show, this tag is intended for remove empty fields in user profile and comments - [news-num]xxx[/news-num] is used for open and close tag if the user have posted article in your website for example,
Example Code:
[news-num]<li style="margin-top:10px;">Posts: <b>{news-num}</b> <span class="button">{news}</span> [rss]<img alt="" src="{THEME}/images/ico/ico_rss.png" border="0" style="vertical-align:middle; margin-bottom: 3px;" title="Feed - Bookmark Posts" />[/rss]</li>[/news-num]If the user had posted at least 1 article in your website then it will show, if not then nothing will show, this tag is intended for remove empty fields in user profile and comments - [comm-num]xxx[/comm-num] is used for open and close tag if the user have posted comment in your website for example,
Example Code:
[comm-num]<li style="margin-top:10px;">Comments: <b>{comm-num}</b> <span class="button">{comments}</span></li>[/comm-num]If the user had posted at least 1 comment in your website then it will show, if not then nothing will show, this tag is intended for remove empty fields in user profile and comments
Reference User Manual:
- http://dle-news.ru/extras/diffs/94/
- http://dle-news.ru/extras/diffs/95/
- http://dle-news.ru/extras/diffs/96/
- http://dle-news.ru/extras/diffs/97/
-
Upgrade Theme from 9.5 to 9.7
This tutorial will show you how upgrade Datalife Engine template from version 9.5 to 9.7 step by step. The new version of 9.6 and 9.7 has a lot of new features but many ...
-
Upgrade Theme from 9.4 to 9.7
Upgrade Datalife Engine theme from 9.4 to 9.7 is our upgrade guide project to help users upgrade the theme in single tutorial without having to worry about 9.5 and 9.6 ...
-
Upgrade Theme from 9.2 to 9.7
Upgrade Datalife Engine theme from 9.2 to 9.7 is our upgrade guide project to help users upgrade the theme in single tutorial without having to worry about 9.3, 9.4, 9.5 ...
-
Upgrade Theme from 9.6 to 9.7
Since Datalife Engine 9.7 was released, even this new version has a lot of improvements but on template upgrade process is quite simple and easy to upgrade your theme ...



