codeigniter
  • routing
  • multilingual
  • 2010-05-06 4 views 5 likes 
    5

    Sto provando a reindirizzare tutti i giri a un controller principale. Qui è la mia routes.phpCodeIgniter URI routing (dinamico, multilingue)

    $route['default_controller'] = "main"; 
    $route['scaffolding_trigger'] = ""; 
    
    //$route['(\w{2})/(.*)'] = '$2'; 
    //$route['(\w{2})'] = $route['default_controller']; 
    
    $route['(en|ge)/(:any)'] = $route['default_controller']."/index/$1"; 
    $route['(:any)'] = $route['default_controller']."/index/$1"; 
    

    Ho bisogno lingua id per essere passato con tutti i link (come: http://site.com/en/hello-world)

    Ecco il mio controller principale:

    class Main extends Controller 
    { 
        function __construct() 
        { 
         parent::Controller();  
        } 
    
        function index($page_type=false, $param=false) 
        { 
         die($page_type.' | '.$param.'| Aaa!'); 
        } 
    } 
    

    voglio verificare se esiste un tipo di file predefinito (come: http://site.com/en/archive/05-06-2010 - qui il tipo predefinito dovrebbe essere archiviato) quindi fare qualcosa. In caso contrario, cercare nel database per slug. Se non lo trovi, vai su 404.

    Il problema è che non riesco a ottenere i parametri della funzione di indice ($ page_type, $ param). Grazie per l'aiuto.

    risposta

    2

    Se il routing funziona correttamente, provare a utilizzare $this->uri->segment(n)? Dove n è il numero del segmento che si ottiene dall'URI, ad esempio http://site.com/1/2/3/4/ ...

    Ho riscontrato problemi utilizzando i parametri impliciti dei metodi come si sta utilizzando.

    Per ulteriori informazioni, consultare la Guida utente CodeIgniter - la classe URI qui:

    http://codeigniter.com/user_guide/libraries/uri.html

    Buona fortuna.

     Problemi correlati

    • Nessun problema correlato^_^