sql >> Database teknologi >  >> RDS >> Mysql

Hvordan opretter man Codeigniter sprogfiler fra databasen?

Du er på rette vej. Du vil gerne oprette en sprogfil med det samme (f.eks. når du opdaterer sprogindholdet i din database)

1.:databaselayoutet

Opret en tabel lang_token med kolonner id , kategori , beskrivelse , lang , token og udfyld dets felter sådan her:

 OPRET TABEL HVIS IKKE FINDER `lang_token` ( `id` int(11) NOT NULL AUTO_INCREMENT, `category` text NOT NULL, `description` text NOT NULL, `lang` text NOT NULL, `token` tekst IKKE NULL, PRIMÆR NØGLE (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3; INSERT INTO `lang_token` (`id`, `category`, `description`, `lang`, `token`) VÆRDIER (1, 'fejl', 'noMail', 'engelsk', 'Du skal indsende en gyldig e-mailadresse '), (2, 'fejl', 'noUser', 'engelsk', 'Du skal indsende et brugernavn'); 

2.:Om CodeIgniter-sprogfiler

CodeIgniter vil se først i din applikations-/sprogmappe. Hvert sprog skal gemmes i sin egen mappe. Sørg for at få oprettet dine engelske eller tyske osv. undermapper f.eks. applikation/sprog/engelsk

Tredje:Controllerfunktion til at oprette sprogfil på farten

Om Codeigniter-sprogfilerne:Det er en god praksis at bruge et fælles præfiks (kategori) for alle meddelelser i en given fil for at undgå kollisioner med lignende navngivne elementer i andre filer. Strukturen er som:$lang['category_description'] ="token";

 funktion updatelangfile($my_lang){ $this->db->where('lang',$my_lang); $query=$this->db->get('lang_token'); $lang=array(); $langstr="result() as $row){ //$lang['error_csrf'] ='Dette formularindlæg bestod ikke vores sikkerhedstjek.'; $langstr.="\$lang['".$row->category."_".$row->description."'] =\"$row->token\";"."\n"; } write_file('./application/language/'.$my_lang.'/general_lang.php', $langstr); } 

Afsluttende bemærkninger:

  1. Når du ændrer din database, kalder du funktionen updatelangfile('engelsk')
  2. Glem ikke at indlæse filhjælperen og sprogklasse i konstruktøren af ​​controlleren, hvor updatelangfile() er placeret:

    funktion __construct(){ parent::__construct(); $this->load->helper('fil'); $this->lang->load('general', 'engelsk');}



  1. 4 tabelformede outputtilstande i SQLite

  2. IKKE I valg med NULL-værdier

  3. Tidszonekonvertering i SQL-forespørgsel

  4. Konverter 'datetime2' til 'date' i SQL Server (T-SQL-eksempler)