Avatar billede tgl Nybegynder
05. november 2006 - 11:29 Der er 9 kommentarer og
1 løsning

udfylde image-array via asp til TinyMce

Jeg har brugt TinyMce til et CMS og har fundet ud af man med

external_image_list_url : "../incfiler/js/image_list.js"

kan impotere et array med fildata så brugene deraf kan vælge det billede som skal indsættes i textarea.

JS-koden er som flg. :

var tinyMCEImageList = new Array(
// Name, URL
["filnavn1.gif", "../../uploadfiler/filnavn1.gif"],
["filnavn2.gif", "../../uploadfiler/filnavn2.gif"]
);


Fint nok, men nu vil jeg gerne have generet indholdet af arrayet med noget SQL og ASP-kode, som henter fildata fra en db.

Hvordan for man inkluderet det i js-koden?
Avatar billede roenving Novice
06. november 2006 - 01:00 #1
Nu er jeg ikke liiige skarp i vbscript, men noget à la:

<%
'sæt et sql-statement og slå op
strSQL = "Select fil,filLocation From tabel"
Set rs = DataConn.Execute(strSQL)
%>

var tinyMCEImageList = [];
<%
do while rs.getNext() 'hent næste -- hvad hedder det ?-)
  Response.Write "tinyMCEImageList[tinyMCEImageList.length] = ['" & rs.fil & "','" & rs.filLocation & "']"
loop
%>;

-- du kan forhåbentlig selv rette det til, så det er ordentlig vbscript !-)
Avatar billede tgl Nybegynder
06. november 2006 - 09:27 #2
Tak for forslaget. Jeg ser nærmere på det i eftermiddag.
Avatar billede tgl Nybegynder
06. november 2006 - 09:30 #3
do while rs.getNext() 'hent næste -- hvad hedder det ?-)

Det skrives sådan i vb-script:

<%
do while NOT rs.EOF '=hent næste record
  Response.Write "tinyMCEImageList[tinyMCEImageList.length] = ['" & rs.fil & "','" & rs.filLocation & "']"
rs.movenext '=henter næste record i recordset
loop
%>;
Avatar billede tgl Nybegynder
06. november 2006 - 13:49 #4
Nu har jeg modificeret lidt på det :

var tinyMCEImageList = new Array(
<%
Dim antal : antal = 10
For i = 1 To antal
Response.write "['"&i&"','"&i+1&"']"
// Print comma, except at last record
  If i <> antal Then
  Response.write ","
  End If
Next
%>);

Det er gemt i en js-fil image_list.js

Den inkluderes i tinyMce med linien :
external_image_list_url : "../incfiler/js/image_list.js"


Det virker ikke...

Er det fordi det gemmes i en js-fil?

I flg. dokumentationen til tinyMce burde arrayets indhold kunne genereres med bla. ASP og SQL-udtræk.
Avatar billede olebole Juniormester
06. november 2006 - 14:20 #5
<ole>

"Det er gemt i en js-fil image_list.js" ... så er det nok derfor. ASP-kode kan jo ikke afvikles i et *.js dokument  ;o)

Hvad sker der, hvis du i FF skriver adressen til js-filen direkte i adresse-feltet? Hvad står der så i filen?

/mvh
</bole>
Avatar billede olebole Juniormester
06. november 2006 - 14:21 #6
- hvis fejlen er den, jeg tror, kan du prøve at ændre navnet på 'image_list.js' til 'image_list.asp' - og så:
    external_image_list_url : "../incfiler/js/image_list.asp";
Avatar billede tgl Nybegynder
06. november 2006 - 15:46 #7
Jo, det hjalp at ændre filen til asp.

Har nu prøvet at generere indhold med en For..Next.

Virker også fint, men ved udtræk fra DB, jvf. neden for virker det så ikke...


var tinyMCEImageList = Array(
<%
Dim SQLpic, rsPic
SQLpic = "SELECT f_id, f_filnavn FROM filertodownload_gym;"
Set rsPic = Server.CreateObject("ADODB.Recordset")
Set rsPic.ActiveConnection = dbc
rsPic.CursorLocation = 3
rsPic.Open SQLpic
Dim i_alt : i_alt = rsPic.RecordCount

Do While NOT rsPic.EOF
Response.write "['"&rsPic("f_filnavn")&"','../../uploadfiler/"&rsPic("f_filnavn")&"']"
i_alt = i_alt-1

' hvis det ikke er sidste record sattes komma
If i_alt > 0 Then
response.write ","
End if

rsPic.MoveNext
Loop
%>);
Avatar billede tgl Nybegynder
06. november 2006 - 16:53 #8
Så virker det! :-)

Skulle blot også huske at inkludere filen med connenction-strengen.

Fandt med jeres hjælp frem til løsningen.

Så hvis I afgiver er svar er der point på vej.
Avatar billede tgl Nybegynder
13. november 2006 - 09:25 #9
Ok, lukker spørgsmålet.
Avatar billede tgl Nybegynder
13. november 2006 - 09:25 #10
Prøver igen...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester