• User Attivo

    ...volendo cambiare linguaggio ed utilizzare il php (per tutte le pagine) esiste un'alternativa agli include? ad esempio richiamando solo i links in un file esterno? poniamo che questa sia una ipotetica pagina del sito:

    [HTML]<html><head><title>Pagina web</title></head>
    <body>

    Menù: <a href="richiamo-php-1">Voce 1</a> - <a href="richiamo-php-2">Voce 2</a> - <a href="richiamo-php-3">Voce 3</a>

    </body></html>[/HTML]

    ...poi in un file php esterno (che non sarà un include) vado semplicemente a dichiarare quali sono i link delle varie voci di menù...non so se mi sono spiegato....si può fare? se si come?


  • User Attivo

    La soluzione piu' semplice e piu' gradita dai motori di ricerca è sicuramente farlo con un file esterno php. Altrimenti lo puoi fare con Jquery o ajax o qualche Dom Js ma devi guardare il codice sorgente perchè se non compare il link il motore di ricerca non ha modo di seguirlo e non ne trai benefici in termini di indicizzazione.

    Il php è utilizzabile con html, jquery , js, ajax , c# , java etc. etc. non capisco che problemi ti crei utilizzare un include sinceramente.


  • User Attivo

    ...utilizzando gli include non posso rendere attive (cioè selezionate) alcune delle voci del menù, ad esempio se mi trovo nella pagina "Chi Siamo" nel menù deve restare evidenziata tale voce...e così per tutte le altre. Se utilizzo menù diversi per ogni pagina, con i css posso rendere "attiva" ogni singola voce, se invece il menù è sempre lo stesso (cioè quello dell'include) come faccio? ...questo è il mio problema principale nell'utilizzare gli include 😞


  • User Attivo

    ...in ogni caso io una soluzione simile già la conosco, solo che viene utilizzato il JQuery + un file di testo (.txt) esterno con dentro i vari link. Ecco un esempio:

    Pagina html:

    <html><title>Pagina HTML</title>
    </head>
    
    
    <body>
    
    
    <a class="link1" href="" target="_blank">LINK PROVA </a><br />
    <a class="link2" href="" target="_blank">LINK PROVA </a>
    <script src="jquery-1.11.2.min.js"></script>
    <script>
    jQuery(document).ready(function($) {
        $.ajax({
            url: "tuo_file.txt",
            dataType:"text",
            cache: false,
            success: function(data) {
                var content = data.split( ',' );
                $('a.link1').attr({ 'href' : content[0] })
                $('a.link2').attr({ 'href' : content[1] })
            }
        })    
    })
    </script>
    
    
    </body>
    
    
    </html>
    

    ...mentre il contenuto del file di testo esterno (tuo_file.txt) è molto semplice, ci sono solo i link, è il seguente:

    google.it,
    yahoo.com
    

    ...dove ogni virgola separa ogni link.

    E' tutto molto semplice e funzionante, ho solo qualche dubbio per i motori, cioè se riescono a leggere i link anche nei file di testo, per questo cercavo una soluzione molto simile ma in PHP


  • User Attivo

    @chebellagiornata said:

    ...volendo cambiare linguaggio ed utilizzare il php (per tutte le pagine) esiste un'alternativa agli include? ad esempio richiamando solo i links in un file esterno? poniamo che questa sia una ipotetica pagina del sito:

    [HTML]<html><head><title>Pagina web</title></head>
    <body>

    Menù: <a href="richiamo-php-1">Voce 1</a> - <a href="richiamo-php-2">Voce 2</a> - <a href="richiamo-php-3">Voce 3</a>

    </body></html>[/HTML]

    ...poi in un file php esterno (che non sarà un include) vado semplicemente a dichiarare quali sono i link delle varie voci di menù...non so se mi sono spiegato....si può fare? se si come?

    Si esiste.

    Prima di tutto però crea il file dei links che sarà formato così (e che andrai ad includere nella index):
    include.links.php
    [PHP]
    <?php
    //ho strutturato l'array così: chiave => valore, ma puoi anche omettere le chiavi, quindi richiamare solo $links[indice]
    $links = array('link-1' => 'http_tuolink', 'link-2' => 'http_tuolink', 'link-3' => 'http_tuolink');
    ?>
    [/PHP]

    Quindi la home sarà formata così:
    [PHP]
    <?php include 'include.links.php'; ?>

    <html><head><title>Pagina web</title></head>
    <body>
    Menù: <a href="<?php echo $links['link-1']; ?>">Voce 1</a> - <a href="<?php echo $links['link-2']; ?>">Voce 2</a> - <a href="<?php echo $links['link-3']; ?>">Voce 3</a>
    </body></html>
    [/PHP]

    Non ho testato quindi fammi sapere 🙂


  • User Attivo

    ...cercavo proprio qualcosa del genere. Poiché ho più di un menù (uno principale ed uno secondario), come potrei fare per non farli andare in conflitto?


  • User Attivo

    Puoi benissimo fare 2 variabili differenti:

    [PHP]
    <?php
    //ho strutturato l'array così: chiave => valore, ma puoi anche omettere le chiavi, quindi richiamare solo $links[indice]
    $linksMenuPrincipale = array('link-1' => 'http_tuolink', 'link-2' => 'http_tuolink', 'link-3' => 'http_tuolink');
    $linksMenuSecondario = array('link-1' => 'http_tuolink', 'link-2' => 'http_tuolink', 'link-3' => 'http_tuolink');
    ?>
    [/PHP]

    Nella index invece:

    [PHP]
    <?php include 'include.links.php'; ?>

    <html><head><title>Pagina web</title></head>
    <body>
    Menù: <a href="<?php echo $linksMenuPrincipale['link-1']; ?>">Voce 1</a> - <a href="<?php echo $linksMenuPrincipale['link-2']; ?>">Voce 2</a> - <a href="<?php echo $linksMenuPrincipale['link-3']; ?>">Voce 3</a>

    Secondario: <a href="<?php echo $linksMenuSecondario['link-1']; ?>">Voce 1</a> - <a href="<?php echo $linksMenuSecondario['link-2']; ?>">Voce 2</a> - <a href="<?php echo $linksMenuSecondario['link-3']; ?>">Voce 3</a>
    </body></html>
    [/PHP]


  • User Attivo

    ...domani provo e ti faccio sapere. Grazie mille! 🙂


  • User Attivo

    Bacca001 funziona tutto alla perfezione, grazie mille!!! ...ah, ma quindi in questo modo è sicuro che i motori leggeranno i links del menù? 🙂


  • User Attivo

    @chebellagiornata said:

    Bacca001 funziona tutto alla perfezione, grazie mille!!! ...ah, ma quindi in questo modo è sicuro che i motori leggeranno i links del menù? 🙂

    Assolutamente si, perchè è come se caricassero una pagina già fatta così...