2026-03-25 12:05:33 +09:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
namespace App\Controllers;
|
|
|
|
|
|
|
|
|
|
use CodeIgniter\Controller;
|
|
|
|
|
use CodeIgniter\HTTP\RequestInterface;
|
|
|
|
|
use CodeIgniter\HTTP\ResponseInterface;
|
|
|
|
|
use Psr\Log\LoggerInterface;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* BaseController provides a convenient place for loading components
|
|
|
|
|
* and performing functions that are needed by all your controllers.
|
|
|
|
|
*
|
|
|
|
|
* Extend this class in any new controllers:
|
|
|
|
|
* ```
|
|
|
|
|
* class Home extends BaseController
|
|
|
|
|
* ```
|
|
|
|
|
*
|
|
|
|
|
* For security, be sure to declare any new methods as protected or private.
|
|
|
|
|
*/
|
|
|
|
|
abstract class BaseController extends Controller
|
|
|
|
|
{
|
|
|
|
|
/**
|
|
|
|
|
* Be sure to declare properties for any property fetch you initialized.
|
|
|
|
|
* The creation of dynamic property is deprecated in PHP 8.2.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
// protected $session;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @return void
|
|
|
|
|
*/
|
|
|
|
|
public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger)
|
|
|
|
|
{
|
|
|
|
|
// Load here all helpers you want to be available in your controllers that extend BaseController.
|
|
|
|
|
// Caution: Do not put the this below the parent::initController() call below.
|
|
|
|
|
// $this->helpers = ['form', 'url'];
|
|
|
|
|
|
|
|
|
|
// Caution: Do not edit this line.
|
|
|
|
|
parent::initController($request, $response, $logger);
|
|
|
|
|
|
|
|
|
|
// Preload any models, libraries, etc, here.
|
|
|
|
|
// $this->session = service('session');
|
|
|
|
|
}
|
2026-04-08 00:18:01 +09:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* /admin/* 또는 /bag/* 업무 화면 공통: 요청이 bag 이면 메인 사이트 레이아웃, 아니면 관리자 레이아웃.
|
|
|
|
|
*
|
|
|
|
|
* @param array<string, mixed> $contentData
|
|
|
|
|
*/
|
|
|
|
|
protected function renderWorkPage(string $title, string $contentView, array $contentData = []): string
|
|
|
|
|
{
|
|
|
|
|
$content = view($contentView, $contentData);
|
|
|
|
|
$uri = service('request')->getUri();
|
|
|
|
|
$seg1 = $uri->getSegment(1);
|
|
|
|
|
$seg2 = $uri->getSegment(2);
|
|
|
|
|
|
|
|
|
|
// 지정판매소 관리는 관리자 전용 기능으로, /bag 경로여도 관리자 레이아웃을 유지한다.
|
|
|
|
|
$forceAdminLayoutOnBag = ($seg1 === 'bag' && $seg2 === 'designated-shops');
|
|
|
|
|
if ($seg1 === 'bag' && ! $forceAdminLayoutOnBag) {
|
|
|
|
|
return view('bag/layout/main', [
|
|
|
|
|
'title' => $title,
|
|
|
|
|
'content' => $content,
|
|
|
|
|
]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return view('admin/layout', [
|
|
|
|
|
'title' => $title,
|
|
|
|
|
'content' => $content,
|
|
|
|
|
]);
|
|
|
|
|
}
|
2026-03-25 12:05:33 +09:00
|
|
|
}
|