Jump to content
Larry Ullman's Book Forums

abderrahmane

Members
  • Posts

    2
  • Joined

  • Last visited

Posts posted by abderrahmane

  1. Hey guys,

     

    I created a controller 'PageController.php' with a default action 'actionShow' like this:

    public function actionShow( $slug = '' ) {
    
      if ( empty( $slug ) ) {
        $model=Pages::model()->findByAttributes( array( 'slug' => 'accueil' ) );
      }
      else {
        $model = Pages::model()->find('slug = :slug', array(':slug' => $slug));
    
      if($model===null) {
        throw new CHttpException(404,'The requested page does not exist.');
      }
    }
    
    $this->render('page', array(
      'model' => $model,
      'slug' => $slug,
    ));
            }
    

    Then I created a module (and this is where things got problems) called "admin", and declared it in config/main.php

     

    And I set up the urls in config/main.php like that:

    'urlManager'=>array(
      'urlFormat'=>'path',
      'showScriptName'=>false,
      'rules'=>array(
        '<controller:\w+>/<id:\d+>'=>'<controller>/view',
        '<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
        '<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
        '<module:\w+>/<controller:\w+>/<action:[0-9a-zA-Z_\-]+>/<id:\d+>' => '<module>/<controller>/<action>',
        '<module:\w+>/<controller:\w+>/<action:[0-9a-zA-Z_\-]+>' => '<module>/<controller>/<action>',
        '<module:\w+>/<controller:\w+>' => '<module>/<controller>/index',
        '<slug:\w+>'=> 'page/show',
      ),
    ),
    

    The problem is when I call the page : maydomain.com/admin, it been processed as a slug for the page and not as a module, I fixed in the actionShow by :

     

    if $slug=='admin'
      $this->forward('admin/default/index')
    

     

     

    Is there is a way more clean than this ?

  2. Hi Larry,

     

    I don't know if this is the best place to place such a question, but I'm little confused.

     

    There is a framewok out there called Laravel, they talking about it so much, some people even excited about it.

     

    Which one is the easiest one to start with ?

×
×
  • Create New...