제목 | ci4 layout에서 php 데이타 사용 관련 문의드립니다. | ||
---|---|---|---|
카테고리 | CI 4 관련 | ||
글쓴이 | 글링 | 작성시각 | 2024/12/31 18:09:36 |
|
|||
매뉴얼에 있는대로 $this->extend('/default'); 로 레이아웃 파일을 만들어서 레이아웃을 사용중입니다.
레이아웃 파일인 default.php에서 세션, 모델에서 가져온 데이타 등을 사용해야 하는데, 세션은 $_SESSION으로 사용이 가능해서 일단 그걸로 사용중입니다. 문제는 모델에서 가져온 데이타를 사용해야 하는데, 예전에 ci3에서는 $CI라는 전역변수가 있어서 $CI->config에 넣으면 어디서든 사용이 가능했던걸로 기억하는데, ci4에서는 이것과 같은 $CI 같은 전역변수가 있는지 문의드립니다.
현재 계획은 config의 event.php에서 Events::on('pre_system', static function () { 넣거나 BaseController 의 initController() 넣어서 전역변수에 메뉴를 넣고, 레이아웃 파일에서 사용 하는 것입니다.
안되면 메뉴를 세션에 넣어서라도 사용해야 할 것 같긴 하지만, 다른 방법이 있는지 문의 드립니다.
|
|||
이전글 | 게시판 페이징처리 질문 보완해서 올립니다, (2) | ||
PureAni
/
2025/01/01 12:01:55 /
추천
1
|
글링
/
2025/01/02 11:05:21 /
추천
0
3번 방식이 딱 제가 원하는 방식이네요. 답변 감사합니다. 덕분에 완벽하게 처리 되었어요.
|
여러가지 방법이 있습니다.
1. http://ci4doc.cikorea.net/general/common_functions.html?highlight=view#view
페이지 부분 호출에 view 함수를 사용하시는 경우 위 URL에서 data 에 넣습니다.
2. view 를 사용 안하시는경우..
Controller 에서 \Config\Services::renderer()->setData(['a'=>'b'], 'raw'); 를 사용해서 layout 에서 사용할 데이터를 직접 넣어줍니다.
3. 메뉴가 고정적이라면, Config 폴더에서 파일을 생성해서 사용도 가능합니다.
http://ci4doc.cikorea.net/general/configuration.html
/app/Config/Navigation.php 를 생성 후, 메뉴를 설정합니다.
레이아웃 파일에서는 아래와 같이 사용합니다.