htaccess e posizione file

ciao a tutti,

sto creando un piccolo Cms, ma mi è sorto un dubbio.

Ho in mente di creare una pagina che fa una query al DB in base all’id pagina passato. La pagina viene creata dal Cms ovviamente, e la pagina di frontEnd farebbe tale query.

Il dubbio che mi è venuto è:

Dove posizionare la pagina di FrontEnd?

se io lo posiziono dentro view, riesco poi ad avere un link del tipo www.esempio.com/chi-siamo ?

spero di essermi spiegato. Credo che andiamo a toccare htaccess appunto.

grazie ancora, si accettano consigli :rolleyes:

Io fossi in te farei un paio di cose:

Tutte le rotte le puoi definire nel file di configurazione, quindi cercherei di far dialogare il file di configurazione con il database, in modo che sia in grado di tradurre tutte le pagine nei relativi url.

Nel file di configurazione di yii, puoi anche eliminare il file index.php dalla url, ma devi anche usare il file .htaccess di yii altrimenti otterrai solo un errore. In oltre puoi mostrare tutti gli url in formato "path".

In effetti, potresti anche separare il file di configurazione e fare in modo che alla creazione della nuova pagina, si generi in un nuovo array delle rotte del tuo sito.

ciao e grazie per la risposta

pensavo esattamente di fare quello che hai detto, nel file di configurazione già ho messo path e già ho tolto index, usando appunto .htaccess. Vorrei Appunto creare qualcosa che comunichi tramite Query con il file di configurazione, ma ancora non ho trovato niente a riguardo.

Del tipo che il file di configurazione prende un valore ottenuto da una query. Spero ancora di essermi spiegato, perché non nascondo che a volte non mi capisco neanche io :D

grazie ancora

Edit: mi sa che devo fare qualcosa del genere

quello che mi blocca è:

se io devo recuperare un contenuto con ID 100 (dove 100 è 'id della pagina) come faccio a farlo visualizzare?

se ad esempi ho fatto una pagina che ha nome url homepage, se ho un url del tipo example.com/homepage

come faccio a reinderizzarlo con Controller/action?

non so se devo gestire tutto dal controller principale index, e in base all’index leggere e ottenere in qualche modo la pagina che ho scritto nel Databse, tramite una query.

l’obbiettivo comunque è questo, mostrare il contenuto della tabella pagine in base all’url. se ho un url homepage nel Db, creato da Backend, quando clicco sul menu homepage, ho digito direttamente homepage, devo fare una query per ottenere il contenuto.

Si, quello che devi fare è esattamente questo. "Attaccarlo" al database non dovrebbe essere complicato, ma non ci ho mai provato. Sorry.

Parti da cose semplici… Sicuramente avrai delle url del tipo contrller/action&id=33 che funzionano. Lo step successivo potrebbe essere l’url mostrato come path quindi:

controller/action/id/33

Quello dopo ancora, potrebbe essere il seguente

controller/action/id/33/title/titolo-della-pagina

Se controlli il blog di esempio vedi a cosa corrisponde la rotta qui sopra.

Lo step successivo potrebbe essere questo:

controller/action/slug/titolo-della-pagina

slug è il nome del titolo trasformato nella stringa “titolo-della-pagina”. Se prima il controllo veniva fatto attraverso l’id, adesso tu potresti farlo attraverso il database. Capito? Con l’id lo sappiamo già fare,. Noi vogliamo solo cambiare il campo ed il valore ma la logica è la stessa:

controller/action/id/33

controller/action/slug/titolo-della-pagina

Quindi ricordati, se provi a fare questo, di aggiungere un campo slug alla tua tabella.

Grazie ancora per i suggerimenti, sto proprio installando e provando il Blog demo! non ti preoccupare che ti farò sapere :) :lol: :lol:

Come sta procedendo il CMS?

Ciao !

Sta procedendo abbastanza bene, ho avuto degli intoppi, più che altro di Tempo ma per adesso sono abbastanza soddisfatto. E’ il mio primo progetto con Yii, quindi sarà sicuramente migliorabile (come tutti i progetti). La cosa che sto vedendo con Yii è che è molto facile implementare Ajax, la “tecnica” MVC che io non avevo mai adottato è molto comoda. A Fine Lavoro mi farebbe piacere ricevere qualche critica :)

grazie dell interessamento :)

Io ti consiglio di mettere su github il progetto. Riceverai poche critiche e molte pull request da parte mia se il progetto è interessante.