jag har en utmaning. Finns det något sätt att länka, på samma sätt som man gör med en include-fil, i en sträng?
Normalt kan man hämta information från en sida med hjälp av en include-fil. Ex. <!-- #INCLUDE virtual="include/header.asp" -->
Jag har nu skapat en replacefunktion i ett adminverktyg som gör det möjligt att skriva "shortcodes" som ex. [login]. När jag skriver detta vill jag hämta information från en speciell sida på samma sätt som med en include, någon som kan ge mig tips på detta?
Jag skriver [login] i en textarea i mitt adminverktyg, denna ska ersättas med en include-fil som då ska visa innehållet i include-filen. Är detta möjligt?
Okej, en massa views men inga svar - jag har väl formulerat mig dåligt igen ;)
För att göra en lång historia kort.
Jag har olika moduler för att visa nyheter, produkter och andra goda saker. Dessa vill jag kunna anropa om man ex. anger [callNews] i en textarea i ett adminverktyg.
Jag har testar fram och tillbaka men jag får det inte till att fungera. En tanke var att använda mig av includefiler, men detta går tydligen inte. Jag fick då tipset om Server.Execute, men det klarar inte IIS:n av på min server. Då fick jag idén om subs. Är detta möjligt?
Min replacefunktion ser ut så här:
Function shortcodes(strString)
strString = Replace(strString, "[callNews]", "Här vill jag hämta nyhetsmodulen.")
shortcodes = strString
End Function
Server.Execute är inte alls det du är ute efter, då du inte kan få ut strängen ifrån server.Execute. Inte heller en Metod(sub) då en sub inte retunera något
Tar upp en gammal tråd igen som inte är löst för mig.
Jag har som sagt en adminpanel, här använder jag mig av vissa kortkommandon såsom (b)(/b) bold och andra bra metoder.
Vad jag också vill är att man ska kunna skriva [callNews] för att kunna visa de senaste nyheterna, [callSubNav] för att visa subnavigeringen osv osv.
Funktionen för att hantera kortkommandon ser ut så här:
Function shortcodes(strString)
strString = Reggex(strString, "\[b\]", "<strong>")
strString = Reggex(strString, "\[\/b\]", "</strong>")
strString = Replace(strString, "[callNews]", "nyhetsfunktionen")
shortcodes = strString
End Function
När jag hämtar exempelvis en text från en sida så ser det ut så här:
Response.Write shortcodes(Recset("fldText"))
Koden för nyheterna ser ut så här:
Set RecSet2 = Server.CreateObject("ADODB.Recordset")
SQL2 = "SELECT TOP 1 * FROM tblNews ORDER BY fldDate DESC"
RecSet2.Open SQL2, Connect, 1, 2
If Recset2.EOF Then
Else
Do Until Recset2.EOF
Response.Write "Nyhetsrubik, text och datum..."
Recset2.Movenext
Loop
End If
RecSet2.Close
Set RecSet2 = Nothing
Jag vet bara inte hur jag ska få till det. Det borde ju inte vara så svårt.
Skapa en funktion som retunera din kod som en sträng och kör den den.
function s()
dim str
str = "Hej på dig"
str = str & " voigtan!"
s = str
End Function
Så byt ut din response.write kod till att bygga upp den och retunera den. Förstå inte vad det svåra är (du har ju gjort detta med javascript, principen är densamma i ASP).
sen:
If Recset2.EOF Then
Else
Skriv om det till If Not RecSet2.EOF, om du inte skall skriva ut något om den är EOF så är det bara onödigt att skriva det.
function callNews()
dim str
Set RecSet2 = Server.CreateObject("ADODB.Recordset")
SQL2 = "SELECT TOP 1 * FROM tblNews ORDER BY fldDate DESC"
RecSet2.Open SQL2, Connect, 1, 2
If Recset2.EOF Then
Else
str = "<div class=""grid-31"">"
Do Until Recset2.EOF
str = str & "Nyhetsrubik, text och datum..."
Recset2.Movenext
Loop
str = str & "</div>"
End If
RecSet2.Close
Set RecSet2 = Nothing
End function
Var är Connect i din funktion? du måste få med den, antingen skapar du upp den i din funktion eller så inkludera du den i din funktion när du anropar den (parameter in i din funktion).
Fick det faktiskt till att fungera igår, det hade något med kopplingen att göra. Saker och ting hämtades i fel ordning, kan lätt bli så med includefiler.
Tack!
Men nu uppstod ett annat fel ;)
Funktionen callNews förekommer nu överallt där shortcodes() finns. Verkar inte som om den triggas av:
Function shortcodes(strString)
strString = Replace(strString, "[callNews]", callNews)
shortcodes = strString
End Function
Den förekommer oavsett om jag skriver [callNews] i texten eller inte.
Fick det faktiskt till att fungera igår, det hade något med kopplingen att göra. Saker och ting hämtades i fel ordning, kan lätt bli så med includefiler.
Tack!
Beror helt och hållet hur du kodar, om du bygger kod rätt så spelar bara det någon roll när du kör koder.
Jag hade min funktionsfil med shortcodes, callnews och andra funktioner innan min header och det var i headern jag öppnade databasen. Men det är sånt man inte tänker på först när man behöver det. Har fungerat för mig i alla år.
Tack för hjälpen och tack för ett fantastiskt forum!