-
startup Member
  
-
Posts: 66
Threads: 39
Joined: Jan 2022
Reputation:
0
08-03-2022, 01:34 AM
(This post was last modified: 08-04-2022, 07:37 PM by startup.)
1. BaseController.php
PHP Code: <?php namespace App\Controllers; use CodeIgniter\Controller; use CodeIgniter\HTTP\CLIRequest; use CodeIgniter\HTTP\IncomingRequest; use CodeIgniter\HTTP\RequestInterface; use CodeIgniter\HTTP\ResponseInterface; use Psr\Log\LoggerInterface; use App\Models\HeaderModel;
class BaseController extends Controller{ protected $data=array(); protected $session; protected $option =''; public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger){ parent::initController($request, $response, $logger);
$this->db = \Config\Database::connect(); $this->session = \Config\Services::session();
$mSite= new HeaderModel(); $this->option = $mSite->site_option_bottom(); $this->data['site_name'] = $this->option->site_name; }
}
2.footer.php
PHP Code: <?php echo $this->site_name; ?>
NOTE FOR SOMEONE NEED
i only write demo, if you do your project, you can write method function to show
1. in BaseController.php
PHP Code: <?php namespace App\Controllers; use CodeIgniter\Controller; use CodeIgniter\HTTP\CLIRequest; use CodeIgniter\HTTP\IncomingRequest; use CodeIgniter\HTTP\RequestInterface; use CodeIgniter\HTTP\ResponseInterface; use Psr\Log\LoggerInterface; use App\Models\HeaderModel;
class BaseController extends Controller{ protected $data; protected $session;
public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger){ parent::initController($request, $response, $logger);
$this->data = \Config\Database::connect(); $this->session = \Config\Services::session();
$mSite = new HeaderModel(); $data['test']= $mSite->site_option_bottom(); //path view footer.php in your project return view('Site\footer',$data); }
}
in footer.php we show this
-
startup Member
  
-
Posts: 66
Threads: 39
Joined: Jan 2022
Reputation:
0
08-03-2022, 11:18 PM
(This post was last modified: 08-03-2022, 11:22 PM by startup.)
(08-03-2022, 11:04 PM)ozornick Wrote: PHP Code: return view(”template", $this->data); // Send param in controller view
# ozornick ,no, I mean without controller but still showing data in the footer.php, in codeigniter 3 can do this, ci4 cant do this
-
startup Member
  
-
Posts: 66
Threads: 39
Joined: Jan 2022
Reputation:
0
08-03-2022, 11:24 PM
(This post was last modified: 08-03-2022, 11:25 PM by startup.)
(08-03-2022, 11:22 PM)ozornick Wrote: In what situation is the template called without a controller?
If this is some private information output, it must be passed to the method.
Do you have a working use case?
in codeigniter 3, i only write code in my_controller
view footer.php do like
$demo =$this->option ->myfunction();
echo $demo->site_name
-
ozornick Antispam Moderator
     
-
Posts: 560
Threads: 29
Joined: Jul 2022
Reputation:
27
Hmm. In CI 3 $this is "more global" as I recall.
For your last example, the function should return something (object).
PHP Code: // in my_function(), example return $this;
I can’t guess anymore, expect others or try it yourself
-
kenjis Administrator
      
-
Posts: 3,671
Threads: 96
Joined: Oct 2014
Reputation:
230
-
startup Member
  
-
Posts: 66
Threads: 39
Joined: Jan 2022
Reputation:
0
|