• User Attivo

    Se spieghi un po' meglio cosa devi fare forse si trova una risposta... così da come lo dici non si capisce se ti serve una specie di pagina standard che resta sempre uguale con una porzione della pagina che invece deve ospitare i vari contenuti che hai già pronti a parte ma che devi "caricare" lì dentro a seconda dell'id passato al browser... se è così basta che fai una pagina sola programmata con layout e tutto e nello spazio dedicato (di norma un div) ci metti un include() in php e includi uno dei testi a seconda dell'id passato al browser con link del tipo pagina.php?id=xx

    keiske


  • User Attivo

    Grazie ragazzi, cerco di spiegarmi meglio...
    Ho una tabella nel database in cui ho inserito (mediante uno script da me sviluppato) le informazioni dei videogames.
    Ora, poiché sono più di 300 videogames ed ognuno di essi deve avere una pagina propria del tipo "miosito/games/gioco1" mi chiedevo se era possibile trovare un modo per evitare di effettuare più di 300 volte le seguenti azioni:

    • aprire page.php per postare una pagina
    • inserire manualmente il titolo
    • inserire manualmente l'id del videogames nel campo personalizzato (che mi servirà per far apparire tutto il contenuto della pagina)

    Spero di essere stato più chiaro... 😉


  • User Attivo

    ok, quindi il testo è già pronto nel database... buono...

    ultima precisazione e poi provo a partorirti qualcosa...

    mi dici un esempio di record del databse?

    I campi:

    id: xx
    nome: nome gioco
    tipo: tipo gioco
    desc: descrizione gioco

    Una cosa del genere?

    keiske

    edit: e scusa, altra cosa... il sito è fatto tipo con un menù da una parte e le info del gioco al centro? vuoi mettere nel menù tutti i link ai vari giochi? XX link per pagina? E ovviamente... hai supporto per mettere codice php giusto? se hai il database presumo di sì...


  • User Attivo

    Si... Allora in poche parole attualmente la fase di sviluppo di questo mio script è abbastanza avanzata...
    Praticamente mi basta assegnare un valore ad un campo personalizzato che già sono riuscito a farmi visualizzare il tutto, quindi non è questo di cui ho bisogno...

    Ciò di cui ho bisogno è di non fare la stessa cosa (ovvero la creazione di una pagina per ogni gioco) per 350 volte...

    Oppure se esiste un modo, ditemi voi... Proponete pure...


  • User Attivo

    Probabilmente stiamo parlando (giustamente) di wordpress...

    Io onestamente farei una chiamata mysql al database che mi restituisca tutti i giochi in un array... poi scorro l'array in un ciclo while che mi crea dinamicamente una lista (che posso anche interrompere ogni 10 per cambiare pagina volendo, visto che 300 link sono tantini)

    Nel ciclo while assegnerei in modo dinamico ad ogni link l'id del gioco che quindi mi crea al volo i 300 link con ?id=xx già pronto...

    Infine al centro della pagina metterei un'altra query al database che estrae solo le info relative all'id selezionato e visualizzo i dati...

    Il risultato è che con una riga di codice php ottengo al volo tutti e 300 i link ordinati e cliccando su uno dei 300 link qualsiasi al centro vedo i dati di quel gioco...

    Il tutto in una sola pagina che si ricarica ad ogni click...

    Io spero di essermi spiegato, ma forse tutto sto discorso decade se le 300 pagine le vuoi creare con wordpress che è un blog/cms...

    A livello poi di statistica basta mettere un codice in fondo alla pagina che memorizza l'id della pagina vista per avere i numeri esatti di quali e quante pagine sono state visitate...

    keiske


  • User Attivo

    in ogni caso facendo nel tuo modo mi sorgono un paio di dubbi:

    1. io non vorrei un url di tipo ?id=xx ma di tipo games/titolo_del_gioco
    2. google riesce a vedere 300 pagine o non riesce a catturarne la diversità?

  • User Attivo

    beh diciamo che google non fa storie finchè le variabili passate sono fimo a un massimo di 2... cmq capisco il tuo dubbio... google tecnicamente dovrebbe indicizzare 300 pagine diverse:

    tuosito.it/pagina.php?id=1
    tuosito.it/pagina.php?id=2
    tuosito.it/pagina.php?id=3
    etc etc

    perchè per google quelle tre che ho messo sopra sono 3 pagine in html diverse... lui mica lo vede il codice php... ti spaidera pagina.php poi vedendo dei link va in follow e indicizza tutte le pagine linkate... ovviamente se passi 10 variabili credo che google si adiri e non indicizzi, ma sarebbe meglio attendere qualcuno più autorevole di me 😄

    Cmq in automazione puoi creare pagine al volo, non pagine reali... per quello devi metterti con olio di gomito oppure ti crei uno script in vbs con un ciclo che fa andare windows da solo... una volta l'ho fatto per stampare 1000 schede in pdf da una banca dati... il pc premeva i tasti da solo mentre io bevevo il caffè 😄

    keiske


  • ModSenior

    Penso che seguendo le dritte di Privacy-Impresa Japgalaxy potresti arrivare ad un discreto risultato tuttavia i problemi di URL di cui parli sono reali.
    Anche perche' non esistono solo i motori di ricerca. La semplicita' della lettura della URL nella soluzione games/titolo_del_gioco avvantaggerebbe, a mio avviso, di non poco i visitatori.

    Altra soluzione potrebbe essere quella di lavorare a livello di script php puro con URL rewrite direttamente da .htaccess (se il tuo server lo concede) e poi eventualmente integrare in wordpress.


  • User Attivo

    Tra l'altro se la tua necessità è di non avere url del tipo ?id=xx puoi sepre impostare uno script (anche in php) che trasformi come fanno i blog col trackback l'url da tuosito.it/pagina.php?id=1 a tuo.sito.it/nome-del-gioco sfruttando il valore che sicuramente hai nel database che associa a ogni id di gioco un nome del gioco... e se nel database il nome del gioco ha degli spazi e maiuscole applichi trasformazioni con le funzioni di manipolazione delle stringhe...

    Insomma, anche se ci sono in rete decine di ottime piattaforme già pronte, se si hanno un po' di competenze di programmazione (o la voglia e lo sbatti di studiare un pochetto) non bisognerebbe mai dimenticare che per sviluppare un buon progetto la prima cosa da fare è prendere un bel foglio di carta e scrivere cosa vogliamo fare e trovare il modo più semplice con gli strumenti che abbiamo a disposizione per farlo... e spesso bastano veramente una manciata di righe di codice per l'impostazione dello scheletro, dandoci anche la possibilità di prevedere con semplicità l'espansione futura del nostro progetto...

    Ad esempio col mio sistema ti basta aggiungere un gioco nel database e la lista si allunga da sola, quindi potresti creare una paginetta solo a te visibile con un semplice form per popolare il database (se non vuoi farlo a mano) o per importare liste che trovi fuori in vari formati...

    keiske


  • User Attivo

    forse smanettando un pò sto riuscendo a far creare una pagina di wordpress a cui viene assegnato l'id del gioco automaticamente...
    Il tutto, se andrà a buon fine, successivamente verrà implementato nel mio script di inserimento di nuovi giochi, avendo così ciò che avevo prima pensato ma che non ero riuscito ad applicare subito...
    Per fortuna non mi arrendo mai alla prima difficoltà e smanettando ho appreso l'esistenza di due simpatiche funzioni che fanno proprio al caso mio...
    Vi tengo aggiornati... Grazie 1000 per l'aiuto... 😉


  • User Attivo

    Se poi ci esponi le due funzioni che hai trovato può darsi che prima o poi cercando su google qualcun altro riesca a togliersi dall'inghippo (e poi adesso siamo curiosi :D)

    keiske


  • User Attivo

    Parlo di wp_insert_post($array) e add_post_meta
    Il primo permette di creare una pagina/post mentre il secondo permette di assegnare dei campi personalizzati all'id di un post/pagina...


  • User Attivo

    Flash news:
    esperimento riuscito! Unica pecca è il poter inserire max 7 pagine automaticamente alla volta perché poi lo script va oltre i 15 secondi di esecuzione permessi dal server...


  • User Attivo

    Bene, il maxi-inserimento è stato fatto, non velocemente quanto speravo, ma meglio che inserirle una ad una... 😄

    Ora devo implementare l'inserimento singolo al momento dell'inserimento della scheda del gioco...

    Poiché ora stiamo parlando di una pagina in php al di fuori di wordpress mi serve includere il file post.php.
    Lo faccio usando la seguente istruzione: require('./wp-includes/post.php');
    Solo che l'inserimento di questa pagina mi obbliga all'inserimento anche di altre pagine (functions.php, plugin.php e cache.php) però mi da questo errore:
    Fatal error: Call to a member function on a non-object in /membri/japgalaxy/wp-includes/functions.php on line **266

    Ecco le righe in questione:
    [php]
    265 if ( !$alloptions ) {
    266 $wpdb->hide_errors();
    267 if ( !$alloptions_db = $wpdb->get_results("SELECT option_name, option_value FROM $wpdb->options WHERE autoload = 'yes'") )
    [/php]

    Cosa posso fare???

    EDIT:
    ho risolto sostituendo i vari file inclusi con:
    include_once('wp-config.php');
    include_once('wp-includes/wp-db.php');
    e ora funziona alla grande... Però vorrei sapere come mai... 😄
    **