Как отобразить полное имя вместо идентификатора продавца в представлении «Управление идентификатором продавца» - PullRequest
0 голосов
/ 19 февраля 2020

просмотр раздела

  <div class="content-header-left col-md-6 col-12 mb-1">
     <h3 class="content-header-title mb-0 font-14"> 
         <a href="#"> 
             <i class="close icon-arrow-left font-16 px-50 float-left></i>
        </a> Manage <?php echo $merchantId; ?>
    </h3>

   //we have to replace mechantId with fullname in database
  </div>

функция в контроллере

class SubMerchantController extends AppController { 
    public $permission_dashboard=array();
    public $plugin = null;
    public $modelClass = 'SubMerchant';
    public $lang="admin";  
    public $merchantId="";  
    public $imageFolder="merchants";


    public $module="Multiple Pickup Points";  

    public $helpers = array('Html','Form','Time','Text'); 

    public function initialize()
    {

        parent::initialize(); 
        $this->loadModel('Merchants.SubMerchant');
        $this->loadModel('Masters.CompanyType');
        $this->loadModel('Masters.Plan');
        $this->loadModel('UserContact');
        $this->loadComponent('Paginator');
        $this->loadComponent('Flash');
        $this->loadComponent('Search.Prg', [ 'actions' => ['index'] ]);
        $this->loadComponent('Common');
        $this->loadComponent('Upload');


    }

    public function beforeRender(Event $event){ 
        $action=isset($this->request->params['action'])?$this->request->params['action']:"";
        $loginMerchant=$this->request->session()->read('Auth.FrontUser.id');

        if($action=="sortOrder" || $action=="view" || $action=="ajaxPlanData"){
            $this->viewBuilder()->layout('ajax'); 
        }elseif($loginMerchant!=""){
            $this->viewBuilder()->layout('merchantAfterLogin');    

        }else{
            $this->viewBuilder()->layout('adminAfterLogin');    

       }    
    }

    public function beforeFilter(Event $event){

         $this->CommonAuthCheck();

         $merchantId=$this->request->query('merchant_id');
         //Login Merchant Check
          $loginMerchant=$this->request->session()->read('Auth.FrontUser.id');
         if($merchantId==""){
          $merchantId=$loginMerchant;
         }

         if($merchantId<=0){
          //$this->redirect('/');
          //exit;
         }

         $this->merchantId=$merchantId;
         $this->set('merchantId',$merchantId);

         $this->set('modelName', 'SubMerchant');
         $this->set('lang', 'admin');
         $this->set('module', $this->module);
         $this->set('pluginFolder', 'Merchants');
         $this->set('imageFolder', $this->imageFolder);


    }


    public function index(){ 
                $sort=isset($this->request->query['sort'])?$this->request->query['sort']:"";
                $direction=isset($this->request->query['direction'])?$this->request->query['direction']:"";


            $query = $this->{$this->modelClass}->find('search', $this->{$this->modelClass}->filterParams(array_map('trim',$this->request->query))); 
            $this->paginate = array(                    
                        'limit' =>  $this->request->query('listing')!=""?$this->request->query('listing'):"10",
                        'fields'=>array('id','parent_id','full_name','email','brand_name','merchant_code','register_pincode','status','last_login','created','updated'),
                        'conditions'=>array('parent_id'=>$this->merchantId), 
                        'order'=>array($this->modelClass.'.full_name'=>'asc'),  
                    ); 
            $this->Paginator->settings = $this->paginate;  

            $this->set('datas',$this->paginate($query));
            //debug($this->paginate($query));
            //exit;
            $searchArray=array(
            'status'=>(isset($this->request->data['status']) && $this->request->data['status'])?$this->request->data['status']:"",
            'full_name'=>(isset($this->request->data['full_name']) &&
                $this->request->data['full_name'])?$this->request->data['full_name']:"",
            'email'=>(isset($this->request->data['email']) && $this->request->data['email'])?$this->request->data['email']:"",
            'merchant_code'=>(isset($this->request->data['merchant_code']) &&
                $this->request->data['merchant_code'])?$this->request->data['merchant_code']:"",

            );

            $listHeadings=array(
                                'ID'=>array('field'=>'id','icon'=>SORT_ICON),
                                'Name'=>array('field'=>'full_name','icon'=>SORT_ICON),
                                'Email'=>array('field'=>'email','icon'=>SORT_ICON),
                                'Brand',
                                'Date'=>array('field'=>'created','icon'=>SORT_ICON),
                                ); 
   $this->set(compact('searchArray','listHeadings','sort','direction')); 
        }

таблица базы данных

таблица phpmyadmin

1 Ответ

0 голосов
/ 19 февраля 2020

Basi c Торт PHP:

Взаимодействие с представлениями

https://book.cakephp.org/3/en/controllers.html#interacting -с просмотрами

Пример:

  • индекс функции () -> установить данные в -> index.ctp
  • представление функции () -> установить данные в -> view.ctp

Конкатные строки:

  • simple: echo $name . ' ' . $surname; // John Doe
  • complex: `` ` echo sprintf ('% s% s', $ name, $ фамилия); // Джон Доу

Установить данные с контроллера:

  • $ this-> set ('full_name', sprintf ('% s% s ', $ name, $ фамилия));

Печать полного имени в представлении:

  • echo $full_name

Торт PHP Путь:

$data = $this->Users->find()->first();
$this->set(compact($data));

// view:
echo $data->full_name
...