Come etichettare in bianco il mio sito web in php

1

Ho un sito web che segue la seguente struttura:

  • www.example.com/city1
  • www.example.com/city2
  • ...

A livello di codice cambiamo il logo che è hardcoded in un file di configurazione specifico per città 1, città 2, ... Sono file in una struttura di cartelle come / cities / city1 o / cities / city2.

I colori possono essere modificati dall'amministratore della città stessa tramite l'interfaccia utente, e vengono salvati nel database in una tabella local_settings dove c'è una colonna per bg_color.

Tuttavia, voglio rielaborare il mio intero sistema per etichettare in bianco l'intero layout delle città. Ma mi stavo chiedendo come fare, non ho trovato molte informazioni su questo argomento.

Dovrei:

  1. Continua a creare un file di configurazione per ogni città? E memorizza ognuna delle impostazioni specifiche lì, dove php legge e scrive nel file?

  2. Salva tutto nel database? Come faccio a strutturarlo correttamente per la scalabilità?

Domanda in più: immagina se una città vuole il proprio footer sul suo sito secondario, (che richiede un codice HTML e CSS completamente personalizzato), come faccio a fare questo? È buona pratica creare un nuovo file footer.html specifico e inserirlo nella sua specifica / città / cartella? E caricarlo se esiste, altrimenti caricare quello generale?

    
posta Dennis 29.09.2018 - 09:09
fonte

1 risposta

6

Sono passati alcuni anni, ma l'ultimo sistema PHP che ho sviluppato ha fatto qualcosa del genere. Abbiamo offerto nomi di dominio personalizzati, piuttosto che directory, ma il principio è lo stesso.

Era un sito basato su modelli. Quando è stata richiesta una pagina, estrarrebbe il nome di dominio dalla richiesta. Lo farebbe apparire in una tabella db e ottenere i metadati per quel sito (id del sito, nome, titolo, azienda, ecc.) In modo molto simile a quello che stai facendo. Per i template, se avessimo bisogno di caricare abc.template, cercheremo prima 123 / abc.template (se 123 era id del sito), e usarlo se esistesse, altrimenti userebbe il abc.template predefinito.

Il progetto ha funzionato con successo per oltre un decennio e monitorato miliardi di dollari nelle transazioni. Quindi ha funzionato bene!

Quindi direi che sei sulla strada giusta.

    
risposta data 29.09.2018 - 10:25
fonte

Leggi altre domande sui tag