där dom har {variable} och som fungera rätt bra tycker jag.. har provat och försökt hitta just hur man gör det för att få igång en liknande sak själv utan något resultat. Skulle bli hyper glad om någon kunde hjälpa mig.
lite av koden är:
Set DBlocks = Server.CreateObject("Scripting.Dictionary")
Function SetVar(sName, sValue)
if ParsedBlocks.Exists(sName) then
ParsedBlocks(sName) = replace(replace(sValue, "{", "{"), "}", "}")
else
ParsedBlocks.add sName, replace(replace(sValue, "{", "{"), "}", "}")
end if
End Function
har försökt det mesta att hitta just koden och förstå mig på den... men utan något resultat :(
{ är : & #123;
... men dom har men jag får inte om vi säger :
SetVar "datum", date()
så om man skriver {datum} så skrivs date() ut.. problem 2 är att göra så att den läser av filen och gör checks... jag har gjort just nu split på { men om jag kan lista ut hur dom har gjort gör det smidigare.
<%
Option Explicit
Class Template
Dim dicVar
Private Sub Class_Initialize()
Set dicVar = Server.CreateObject("Scripting.Dictionary")
dicVar.CompareMode = 1
End Sub
Private Sub Class_Terminate()
Set dicVar = Nothing
End Sub
Public Sub SetTemplateVariable(sName, sValue)
dicVar(sName) = sValue
End Sub
Public Function MergeTextWithTemplate(sText)
Dim k
For Each k In dicVar.Keys
sText = Replace(sText, "{" & k & "}", dicVar(k), 1, -1, 1)
Next 'k
MergeTextWithTemplate = sText
End Function
End Class
Dim sTextFromDB
sTextFromDB = "Hej, dagens datum är: {datum}"
Dim objTemplate
Set objTemplate = New Template
objTemplate.SetTemplateVariable "datum", Date
Response.Write objTemplate.MergeTextWithTemplate(sTextFromDB)
Set objTemplate = Nothing
%>
Ett sätt man skulle kunna integrera filhämtningen...
<%
Option Explicit
Class Template
Private sTemplateBasePath
Private dicVar
Private Sub Class_Initialize()
sTemplateBasePath = "E:\Projects\wF"
Set dicVar = Server.CreateObject("Scripting.Dictionary")
dicVar.CompareMode = 1
End Sub
Private Sub Class_Terminate()
Set dicVar = Nothing
End Sub
Public Sub SetTemplateVariable(sName, sValue)
dicVar(sName) = sValue
End Sub
Public Function MergeTextWithTemplate(sTemplateName)
Dim fso, tso, sText, k
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set tso = fso.OpenTextFile(sTemplateBasePath & "\" & sTemplateName & ".skn")
Set fso = Nothing
sText = tso.ReadAll
Set tso = Nothing
For Each k In dicVar.Keys
sText = Replace(sText, "{" & k & "}", dicVar(k), 1, -1, 1)
Next 'k
MergeTextWithTemplate = sText
End Function
End Class
Dim objTemplate
Set objTemplate = New Template
objTemplate.SetTemplateVariable "datum", Date
Response.Write objTemplate.MergeTextWithTemplate("template")
Set objTemplate = Nothing
%>
template.skn:
Hej, dagens datum är: {datum}
257 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849