在 TPL 中使用 Javascript

问题描述 投票:0回答:1

如何在TPL文件中使用JavaScript代码,让JavaScript代码的内容出现在页面上?

当我输入代码时,没有错误消息,但页面上也没有出现任何内容。

这表明该网站已经存在了多长时间。

这是代码

<script type='text/javascript'>
<!--
today = new Date();
bYear  = 2021;  // Start Jahr
bMonth = 4;    // Start Monat
bDay   = 7;  // Start Tag
tYear  =  today.getFullYear();
tMonth =  (today.getMonth() ) + 1 ;
tDay   =  today.getDate();
tHour  =  today.getHours();
fYear  = 0;
fMonth = 0;
fDay   = 0;
fHour  = 0;
x = 0;
y = 0;
z = 0;
a = 0;
b = 0;
c = 0;
function testMonth() {
     if (y==4 || y==6 || y==9 || y==11) x=30
     else if (y==2) x=28
     else x=31
}
function testDay() {
     fDay = (z - bDay) + tDay;
          if (fDay > a) {
               fMonth += 1;
               fDay = fDay - a;
          }
}
y = bMonth;
testMonth();
z = x;
y = bMonth;
testMonth();
a = x;
if (bMonth <= tMonth) {
     fYear = tYear - bYear;
     fMonth = (tMonth - bMonth);
     testDay();
}
fYear = (tYear - bYear) - 1
fMonth = ((12 - bMonth) + tMonth) - 1;
testDay();
if (fMonth >= 12) {
     fYear += 1;
     fMonth -= 12;
}
with(Math) {
theYear=fYear;
tensYear=floor(theYear/10);
onesYear=theYear-(tensYear*1);
theMonth=fMonth
tensMonth=floor(theMonth/10);
onesMonth=theMonth-(tensMonth*1);
theDay=fDay
tensDay=floor(theDay/10);
onesDay=theDay-(tensDay*1);
var testArray = new makeArray("Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember");
for (z=1; z<=12; z++) {
  if (tMonth==z) {
      var b=testArray[z]
   }
}
for (z=1; z<=12; z++) {
  if (bMonth==z) {
      var c=testArray[z]
   }
}
}
var page
page = "<b><center>"+tDay+". "+b+" "+tYear+".</b><br /><br></center>"
page += "<b><center>Eröffnung </b><br> "+bDay+". "+c+" "+bYear+"</center><br>"
page += "<center><b>Forum online seit...</b><br> "
if(parseInt(tensYear+onesYear) == 1) {
    page += tensYear + onesYear + " Jahr</center></b>,<b> "
}
else {
    page += tensYear + onesYear + " Jahre , "
}
if(parseInt(tensYear+onesYear) == 0) {
    page += ""
}

if(parseInt(tensMonth+onesMonth) == 1) {
    page += tensMonth + onesMonth + " Monat und "
}
else {
    page += tensMonth + onesMonth + " Monate und "
}
if(parseInt(tensDay+onesDay) == 1) {
    page += tensDay + onesDay + " Tag</b>."
}
else {
    page += tensDay + onesDay + " Tage</b>."
}
function makeArray() {
      this.length = makeArray.arguments.length
      for (var i = 0; i < this.length; i++)
      this[i+1] = makeArray.arguments[i]
}
//-->
</script>

有谁知道解决办法吗

我尝试将其作为脚本插入到 TPL 文件中,并尝试将脚本插入到 {literal}{/literal} 中。

javascript file smarty
1个回答
0
投票

它的 JavaScript 代码可以工作,它也可以在 tpl 文件中工作。

您期望代码在页面中显示内容。 为此,变量

page
用于存储要显示的 HTML 内容。 变量
page
已成功填充,但其内容从未被使用过。

只需在代码后面添加此指令即可:

<script type="text/javascript">
<!--
//Here all your javascript code, where variable page is filled

document.write(page); //This instruction shows the content

-->
</script>  
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.