Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    aggiungere link a titolo associato ad immagine caricata random da xml

    ciao a tutti, questo post mira a implementare il risultato ottenuto nel post "associare un titolo ad un'immagine caricata random".

    Avrei la necessità di trasformare il titolo dell'immagine caricata random in un link che permetta di scaricare un pdf.

    riepilogo la situazione.

    il mio xml è questo:

    <?xml version="1.0" encoding="UTF-8"?>
    <images>
    <image titolo="Federico Gardella_Di rami e radici (2009)">filesHOME/01.jpg</image>
    <image titolo="Luciano Chessa_Var.XII">filesHOME/02.jpg</image>
    <image titolo="Federico Gardella_Di rami e radici (2009)">filesHOME/03.jpg</image>
    <image titolo="Niccolo Castiglioni_HE fur Klavier (1990)">filesHOME/04.jpg</image>
    <image titolo="Salvatore Sciarrino_Due notturni crudeli (2001)">filesHOME/05.jpg</image>
    <image titolo="Sylvano Bussotti_Lo studiolo di Luca Signorelli (2003)">filesHOME/06.jpg</image>
    </images>

    da questo xml viene caricata, ad ogni accesso al sito, un'immagine e relativo titolo grazie al seguente script


    filexml = "imagesHOME.xml";
    // Richiamo la funzione che carica l'XML
    ApriXML();
    // Funzione principale che carica il documento XML creato dallo script ASP con i dati
    // prelevati dal Data Base
    function ApriXML() {
    mioxml = new XML();
    mio_xml.ignoreWhite = true;
    // Array d'appoggio utilizzati
    myarray = new Array();
    myarray2 = new Array();
    // ***************************
    mioxml.load(filexml);
    mioxml.onLoad = ElaboraXML;
    function ElaboraXML(success) {
    // Caso in cui il documento XML è stato caricato correttamente
    if (mioxml.loaded) {
    myarray = mioxml.childNodes;
    // Richiamo funzioni che elaborano i dati XML e caricano i files random
    Dati();
    loadRandom();
    // Elimino i vari array utilizzati per le operazioni in modo da liberare risorse
    delete myarray;
    delete myarray2;
    delete mioxml;
    } else {
    // Caso in cui il documento XML NON è stato caricato correttamente
    loading.text = "Error!";
    }
    }
    }
    // Funzione che prende i dati XML e li mette in degli Array
    function Dati() {
    // Array che contengono i Dati -----------------------
    titolo = new Array();
    image = new Array();
    // ---------------------------------------------------
    // Cicli for per scorrere l'albero XML e prelevare i dati
    for (k=0; k<=myarray.length; k++) {
    if (myarray[k].nodeName == "images") {
    myarray2 = myarray[k].childNodes;
    for (j=0; j<=myarray2.length; j++) {
    if (myarray2[j].nodeName == "image") {
    titolo.push(myarray2[j].attributes.titolo);
    image.push(myarray2[j].childNodes.toString());
    }
    }
    }
    }
    }
    //*************************
    // Funzione che estrae un elemento casuale dall'array dei files
    function loadRandom() {
    num_casuale = random(image.length);
    //trace(num_casuale)
    clip.loadMovie(image[num_casuale]);
    titolo_txt.text=titolo[num_casuale];
    }


    Ora, come modifico secondo voi per far si che l'attributo titolo diventi un link???? :master: :master:
    Io avrei pensato di creare un nuovo array, ma poi come modificare l'xml??

    un grazie anticipato a tutti

  2. #2

  3. #3
    <image titolo="Federico Gardella_Di rami e radici (2009)" link="http://www.miolink.com">filesHOME/01.jpg</image>


    if (myarray2[j].nodeName == "image") {
    titolo.push(myarray2[j].attributes.titolo);
    link.push(myarray3[j].attributes.link);
    image.push(myarray2[j].childNodes.toString());
    }


    crea gli array link e myarray3
    Photogallery Flash Gratis - http://www.flashfiles.biz -
    Template in Flash con pannello di Amministrazione e deeplinking Guarda il template qui

  4. #4
    ciao jjletho, innanzitutto grazie.

    sto provando ma il giochetto non mi viene.
    Innanzitutto un chiarimento: io vorrei che il titolo diventasse un link, non costruire un altro campo dinamico nel quale compaia l'url.
    Questo lo dico perchè provando i tuoi suggerimenti e vedendo che non succedeva niente ho modificato ulteriormente quello che vedi in rosso (aggiunta di un campo dinamico e sostituzione del tuo 3), riuscendo a far apparire, anche se solo come testo, www.miolink.com . Non è comunque quello che volevo fare, lo specifico per non farvi perdere tempo. a me interessa che "federico gardella_di rami e radici...." diventi il link.

    ho modificato lo script in questo modo (modifiche da te suggerite in blu)

    filexml = "imagesLIBRI.xml";
    ApriXML();
    function ApriXML() {
    mioxml = new XML();
    mio_xml.ignoreWhite = true;
    myarray = new Array();
    myarray2 = new Array();
    myarray3 = new Array();

    mioxml.load(filexml);
    mioxml.onLoad = ElaboraXML;
    function ElaboraXML(success) {
    if (mioxml.loaded) {
    myarray = mioxml.childNodes;
    Dati();
    loadRandom();
    delete myarray;
    delete myarray2;
    delete mioxml;
    } else { loading.text = "Error!";
    }
    function Dati() {
    titolo = new Array();
    image = new Array();
    link = new Array();
    for (k=0; k<=myarray.length; k++) {
    if (myarray[k].nodeName == "images") {
    myarray2 = myarray[k].childNodes;
    for (j=0; j<=myarray2.length; j++) {
    if (myarray2[j].nodeName == "image") {
    titolo.push(myarray2[j].attributes.titolo);
    link.push(myarray2 [j].attributes.link);
    image.push(myarray2[j].childNodes.toString());

    function loadRandom() {
    num_casuale = random(image.length);
    //trace(num_casuale)
    clip.loadMovie(image[num_casuale]);
    titolo_txt.text=titolo[num_casuale];
    link_txt.text=link[num_casuale];

    Evidentemente c'e' qualcos'altro che non va. ripeto, lasciando

    link.push(myarray3[j].attributes.link);

    non succedeva niente. Ho pensato che forse ci siano delle modifiche da apportare anche alla parte sopra

    for (k=0; k<=myarray.length; k++) {
    if (myarray[k].nodeName == "images") {
    myarray2 = myarray[k].childNodes;
    for (j=0; j<=myarray2.length; j++) {
    if (myarray2[j].nodeName == "image") {

    che ne dite??? :master:

  5. #5
    devi fare il campo di testo in html

    settargli il testo con tuosimbolo.htmlText=

    e nel titolo nel file xml metti:

    <image titolo="Federico Gardella_Di rami e radici (2009)">

    volendo poi potresti anche usare gli stili css ma nn ricordo assolutamente come i si fa in as 2, ho rimosso per fortuna
    Photogallery Flash Gratis - http://www.flashfiles.biz -
    Template in Flash con pannello di Amministrazione e deeplinking Guarda il template qui

  6. #6
    ahhh, aspetta aspetta, troppo veloce per me, vediamo se ho capito:

    1)
    il campo di testo quindi lo devo fare modificando l'html che pubblico?
    tipo con dreamweaver, non da flash?

    2)
    "settargli il testo con tuosimbolo.htmlText=" cosa intendi?

    3)
    le modifiche effettuate allo script le lascio o a questo punto non servono più (mi sembra di intuire che non servano)?

    p.s. pensa che io ai fogli css non ci sono ancora arrivato

  7. #7
    allora

    nel fla cerca titolo_txt e mettilo come testo html dalle proprietà

    poi qui titolo_txt.text=titolo[num_casuale]; diventa titolo_txt.htmlText=titolo[num_casuale];

    l'xml verrà così

    <image titolo="Federico Gardella_Di rami e radici (2009)">

    non serve dreamweaver, flash un minimo di html lo mastica
    poco poco
    Photogallery Flash Gratis - http://www.flashfiles.biz -
    Template in Flash con pannello di Amministrazione e deeplinking Guarda il template qui

  8. #8
    ti ringrazio, non avevo proprio capito una mazza.

    dopo ci provo e ti faccio sapere

  9. #9

    per il momento facendo come dici al posto del titolo mi esce undefined, ma continuo a provarci.

    il campo di testo dinamico titolo_txt è settato su html dalle proprietà
    (il tasto con "<>"),

    ma ho come la sensazione che nell'xml ci manchi qualcosa, non so. al momento è così

    <?xml version="1.0" encoding="UTF-8"?>
    <images><image titolo="Federico Gardella_Di rami e radici (2009)">filesLIBRI/01.jpg</image></images>

    Sto provando a inserire prima dell' a href ![CDATA[ , ma senza particolari risultati...


    quale può essere l'inghippo?

  10. #10


    niente, continua a darmi undefined

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.