diff --git a/app/Config/Routes.php b/app/Config/Routes.php
index eb697be..829b731 100644
--- a/app/Config/Routes.php
+++ b/app/Config/Routes.php
@@ -113,23 +113,28 @@ $routes->group('admin', ['namespace' => 'App\Controllers\Admin', 'filter' => 'au
$routes->get('update/(:uuid)', 'ProductController::update_form/$1');
$routes->post('update/(:uuid)', 'ProductController::update/$1');
$routes->get('view/(:uuid)', 'ProductController::view/$1');
- $routes->get('reply/(:uuid)', 'ProductController::reply_form/$1');
- $routes->post('reply/(:uuid)', 'ProductController::reply/$1');
$routes->get('delete/(:uuid)', 'ProductController::delete/$1', ['filter' => 'authFilter:master']);
$routes->get('toggle/(:uuid)/(:hash)', 'ProductController::toggle/$1/$2');
$routes->post('batchjob', 'ProductController::batchjob');
- $routes->get('download/(:any)/(:uuid)', 'ProductController::download/$1/$2');
});
$routes->group('order', static function ($routes) {
$routes->get('', 'OrderController::index');
- $routes->post('insert', 'OrderController::insert');
$routes->get('view/(:uuid)', 'OrderController::view/$1');
$routes->post('batchjob', 'OrderController::batchjob`');
$routes->get('delete/(:uuid)', 'OrderController::delete/$1', ['filter' => 'authFilter:master']);
});
});
$routes->group('front', ['namespace' => 'App\Controllers\Front'], function ($routes) {
- $routes->get('/', 'Home::index');
+ $routes->group('product', static function ($routes) {
+ $routes->get('', 'ProductController::index');
+ $routes->get('excel', 'ProductController::excel/$1');
+ $routes->get('view/(:uuid)', 'ProductController::view/$1');
+ });
+ $routes->group('order', ['namespace' => 'App\Controllers\Front', 'filter' => 'authFilter:master,director,cloudflare,manager,gold,silver,brone,vip,user'], static function ($routes) {
+ $routes->get('', 'OrderController::index');
+ $routes->post('insert', 'OrderController::insert');
+ $routes->get('view/(:uuid)', 'OrderController::view/$1');
+ });;
});
/*
* --------------------------------------------------------------------
diff --git a/app/Config/Routes_Shoppinmall.php b/app/Config/Routes_Shoppinmall.php
index 230e456..1abcf11 100644
--- a/app/Config/Routes_Shoppinmall.php
+++ b/app/Config/Routes_Shoppinmall.php
@@ -62,6 +62,7 @@ $routes->group('admin', ['namespace' => 'App\Controllers\Admin', 'filter' => 'au
$routes->get('view/(:num)', 'UserSNSController::view/$1');
$routes->get('delete/(:num)', 'UserSNSController::delete/$1');
$routes->get('toggle/(:num)/(:hash)', 'UserSNSController::toggle/$1/$2');
+ $routes->post('batchjob', 'UserSNSController::batchjob');
});
$routes->group('boardconfig', static function ($routes) {
$routes->get('', 'BoardConfigController::index');
@@ -112,23 +113,28 @@ $routes->group('admin', ['namespace' => 'App\Controllers\Admin', 'filter' => 'au
$routes->get('update/(:uuid)', 'ProductController::update_form/$1');
$routes->post('update/(:uuid)', 'ProductController::update/$1');
$routes->get('view/(:uuid)', 'ProductController::view/$1');
- $routes->get('reply/(:uuid)', 'ProductController::reply_form/$1');
- $routes->post('reply/(:uuid)', 'ProductController::reply/$1');
$routes->get('delete/(:uuid)', 'ProductController::delete/$1', ['filter' => 'authFilter:master']);
$routes->get('toggle/(:uuid)/(:hash)', 'ProductController::toggle/$1/$2');
$routes->post('batchjob', 'ProductController::batchjob');
- $routes->get('download/(:any)/(:uuid)', 'ProductController::download/$1/$2');
});
$routes->group('order', static function ($routes) {
$routes->get('', 'OrderController::index');
- $routes->post('insert/(:uuid)', 'OrderController::insert/$1');
$routes->get('view/(:uuid)', 'OrderController::view/$1');
$routes->post('batchjob', 'OrderController::batchjob`');
$routes->get('delete/(:uuid)', 'OrderController::delete/$1', ['filter' => 'authFilter:master']);
});
});
$routes->group('front', ['namespace' => 'App\Controllers\Front'], function ($routes) {
- $routes->get('/', 'Home::index');
+ $routes->group('product', static function ($routes) {
+ $routes->get('', 'ProductController::index');
+ $routes->get('excel', 'ProductController::excel/$1');
+ $routes->get('view/(:uuid)', 'ProductController::view/$1');
+ });
+ $routes->group('order', ['filter' => 'authFilter:master,director,cloudflare,manager,gold,silver,brone,vip,user'], static function ($routes) {
+ $routes->get('', 'OrderController::index');
+ $routes->post('insert', 'OrderController::insert');
+ $routes->get('view/(:uuid)', 'OrderController::view/$1');
+ });;
});
/*
* --------------------------------------------------------------------
diff --git a/app/Controllers/Admin/BoardConfigController.php b/app/Controllers/Admin/BoardConfigController.php
index def6f9e..6cdd919 100644
--- a/app/Controllers/Admin/BoardConfigController.php
+++ b/app/Controllers/Admin/BoardConfigController.php
@@ -13,6 +13,8 @@ class BoardConfigController extends AdminController
{
$this->_model = new BoardConfigModel();
parent::initController($request, $response, $logger);
+ $this->_viewDatas['title'] = lang($this->_model->getClassName() . '.title');
$this->_viewPath .= strtolower($this->_model->getClassName());
+ helper($this->_model->getClassName());
}
}
diff --git a/app/Controllers/Admin/BoardController.php b/app/Controllers/Admin/BoardController.php
index a9cff07..e17b737 100644
--- a/app/Controllers/Admin/BoardController.php
+++ b/app/Controllers/Admin/BoardController.php
@@ -13,7 +13,9 @@ class BoardController extends AdminController
{
$this->_model = new BoardModel();
parent::initController($request, $response, $logger);
+ $this->_viewDatas['title'] = lang($this->_model->getClassName() . '.title');
$this->_viewPath .= strtolower($this->_model->getClassName());
+ helper($this->_model->getClassName());
}
//Field별 Form Datas 처리용
diff --git a/app/Controllers/Admin/CategoryController.php b/app/Controllers/Admin/CategoryController.php
index a0f824c..3d27c8d 100644
--- a/app/Controllers/Admin/CategoryController.php
+++ b/app/Controllers/Admin/CategoryController.php
@@ -13,6 +13,8 @@ class CategoryController extends AdminController
{
$this->_model = new CategoryModel();
parent::initController($request, $response, $logger);
+ $this->_viewDatas['title'] = lang($this->_model->getClassName() . '.title');
$this->_viewPath .= strtolower($this->_model->getClassName());
+ helper($this->_model->getClassName());
}
}
diff --git a/app/Controllers/Admin/OrderController.php b/app/Controllers/Admin/OrderController.php
index 450bdcd..8cc2513 100644
--- a/app/Controllers/Admin/OrderController.php
+++ b/app/Controllers/Admin/OrderController.php
@@ -5,84 +5,19 @@ namespace App\Controllers\Admin;
use App\Entities\OrderEntity;
use App\Models\OrderModel;
use App\Models\ProductModel;
+use CodeIgniter\Cookie\Exceptions\CookieException;
use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface;
use Psr\Log\LoggerInterface;
class OrderController extends AdminController
{
- private $_cart_name = "order_uids";
- private $_cart_delimeter = "||";
public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger)
{
$this->_model = new OrderModel();
parent::initController($request, $response, $logger);
+ $this->_viewDatas['title'] = lang($this->_model->getClassName() . '.title');
$this->_viewPath .= strtolower($this->_model->getClassName());
- helper("cookie");
- }
-
- //쿠키에 장바구니에 담긴 Order UID를 추가해준다.
- private function setOrderCookie(OrderEntity $entity)
- {
- $order_uids = array();
- if (has_cookie($this->_cart_name)) {
- $order_uids = explode($this->_cart_delimeter, get_cookie($this->_cart_name));
- }
- delete_cookie($this->_cart_name);
- //24시간 저장
- set_cookie([
- 'name' => $this->_cart_name,
- 'value' => implode($this->_cart_delimeter, [...$order_uids, $entity->getPrimaryKey()]),
- 'expire' => '36400',
- ]);
- }
-
- //장바구니에 담기
- protected function insert_process()
- {
- //fieldData Rule 검사및 fieldData 적용
- parent::insert_process();
- //상품재고 줄이기
- $productModel = new ProductModel();
- $product = $productModel->getEntity([$this->_model->getPrimaryKey() => $this->_viewDatas['fieldDatas']['product_uid']]);
- //구매 금액 비교
- $price = ($product->getPrice() - $product->getSale()) * $this->_viewDatas['fieldDatas']['quantity'];
- if ($price != $this->_viewDatas['fieldDatas']['price']) {
- throw new \Exception("실 상품금액{$price} 와 구매금액{$this->_viewDatas['fieldDatas']['price']}이 서로 다릅니다.");
- }
- $productModel->decreaseStock($product, $this->_viewDatas['fieldDatas']['quantity']);
- }
- public function insert()
- {
- $msg = "";
- try {
- $this->_viewDatas['fields'] = $this->_model->getFields(__FUNCTION__);
- $this->_viewDatas['fieldRules'] = $this->_model->getFieldRules($this->_viewDatas['fields'], __FUNCTION__);
- //Transaction 시작
- $this->insert_process();
- $this->_model->transStart();
- $entity = $this->_model->create($this->_viewDatas['fieldDatas']);
- $this->setOrderCookie($entity);
- //Transaction Commit
- $this->_model->transComplete();
- $msg = sprintf(
- "%s에서 해당 상품 %s개를 장바구니에 담았습니다.",
- $this->_viewDatas['title'],
- $this->_viewDatas['fieldDatas']['quantity']
- );
- return redirect()->to($this->_session->getFlashdata(SESSION_NAMES['RETURN_URL']));
- } catch (\Exception $e) {
- //Transaction Rollback
- $this->_model->transRollback();
- log_message("error", $e->getMessage());
- $msg = sprintf(
- "%s에서 다음 오류로 인해 장바구니에 담기를 실패하였습니다.\n%s",
- $this->_viewDatas['title'],
- $e->getMessage()
- );
- return redirect()->to($this->_session->getFlashdata(SESSION_NAMES['RETURN_URL']));
- } finally {
- $this->_session->setFlashdata("return_message", $msg);
- }
+ helper($this->_model->getClassName());
}
}
diff --git a/app/Controllers/Admin/ProductController.php b/app/Controllers/Admin/ProductController.php
index 808749f..6a9a3a1 100644
--- a/app/Controllers/Admin/ProductController.php
+++ b/app/Controllers/Admin/ProductController.php
@@ -14,7 +14,9 @@ class ProductController extends AdminController
{
$this->_model = new ProductModel();
parent::initController($request, $response, $logger);
+ $this->_viewDatas['title'] = lang($this->_model->getClassName() . '.title');
$this->_viewPath .= strtolower($this->_model->getClassName());
+ helper($this->_model->getClassName());
}
//Field별 Form Datas 처리용
diff --git a/app/Controllers/Admin/UserController.php b/app/Controllers/Admin/UserController.php
index e6fd73b..9c1bb78 100644
--- a/app/Controllers/Admin/UserController.php
+++ b/app/Controllers/Admin/UserController.php
@@ -13,7 +13,9 @@ class UserController extends AdminController
{
$this->_model = new UserModel();
parent::initController($request, $response, $logger);
+ $this->_viewDatas['title'] = lang($this->_model->getClassName() . '.title');
$this->_viewPath .= strtolower($this->_model->getClassName());
+ helper($this->_model->getClassName());
}
//Field별 Form Datas 처리용
diff --git a/app/Controllers/Admin/UserSNSController.php b/app/Controllers/Admin/UserSNSController.php
index bc9c744..3352e93 100644
--- a/app/Controllers/Admin/UserSNSController.php
+++ b/app/Controllers/Admin/UserSNSController.php
@@ -13,6 +13,8 @@ class UserSNSController extends AdminController
{
$this->_model = new UserSNSModel();
parent::initController($request, $response, $logger);
+ $this->_viewDatas['title'] = lang($this->_model->getClassName() . '.title');
$this->_viewPath .= strtolower($this->_model->getClassName());
+ helper($this->_model->getClassName());
}
}
diff --git a/app/Controllers/AuthController.php b/app/Controllers/AuthController.php
index 31fc0c2..02843e4 100644
--- a/app/Controllers/AuthController.php
+++ b/app/Controllers/AuthController.php
@@ -13,6 +13,7 @@ class AuthController extends BaseController
public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger)
{
parent::initController($request, $response, $logger);
+ $this->_viewDatas['title'] = 'Auth';
$this->_viewPath .= 'auth';
$this->initAdapters();
}
@@ -35,14 +36,13 @@ class AuthController extends BaseController
public function login()
{
- $viewDatas = array();
foreach ($this->_adapters as $key => $adapter) {
- $viewDatas['login_buttons'][$key] = $adapter->getAuthButton();
+ $this->_viewDatas['login_buttons'][$key] = $adapter->getAuthButton();
}
- $viewDatas['forms'] = ['attributes' => ['method' => "post",], 'hiddens' => []];
+ $this->_viewDatas['forms'] = ['attributes' => ['method' => "post",], 'hiddens' => []];
helper(['form']);
$this->_session->keepFlashdata(SESSION_NAMES['RETURN_URL']);
- return view('auth/login', $viewDatas);
+ return view('auth/login', $this->_viewDatas);
}
public function signup(string $site)
diff --git a/app/Controllers/BaseController.php b/app/Controllers/BaseController.php
index bef7136..ddd4650 100644
--- a/app/Controllers/BaseController.php
+++ b/app/Controllers/BaseController.php
@@ -60,9 +60,7 @@ abstract class BaseController extends Controller
// E.g.: $this->session = \Config\Services::session();
$this->_session = \Config\Services::session();
$this->_viewDatas['layout'] = LAYOUTS['empty'];
- $this->_viewDatas['title'] = lang($this->_model->getClassName() . '.title');
$this->_viewDatas['session'] = $this->_session;
- helper($this->_model->getClassName());
}
//Field별 Form Datas 처리용
diff --git a/app/Controllers/Front/FrontController.php b/app/Controllers/Front/FrontController.php
index 9ef0ac8..12e8a62 100644
--- a/app/Controllers/Front/FrontController.php
+++ b/app/Controllers/Front/FrontController.php
@@ -12,8 +12,7 @@ class FrontController extends BaseController
public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger)
{
parent::initController($request, $response, $logger);
- $this->_viewPath .= strtolower('Front/');
+ $this->_viewPath .= 'front/';
$this->_viewDatas['layout'] = LAYOUTS['front'];
- $this->_viewDatas['title'] = "사용자페이지";
}
}
diff --git a/app/Controllers/Front/OrderController.php b/app/Controllers/Front/OrderController.php
new file mode 100644
index 0000000..e6894f0
--- /dev/null
+++ b/app/Controllers/Front/OrderController.php
@@ -0,0 +1,114 @@
+_model = new OrderModel();
+ parent::initController($request, $response, $logger);
+ $this->_viewDatas['title'] = lang($this->_model->getClassName() . '.title');
+ $this->_viewPath .= strtolower($this->_model->getClassName());
+ helper($this->_model->getClassName());
+ helper('cookie');
+ }
+
+ //쿠키에 장바구니에 담긴 Order UID를 추가해준다.
+ private function setOrderCookie(OrderEntity $entity)
+ {
+ try {
+ $order_uids = array();
+ if (has_cookie($this->_cart_cookie_name)) {
+ $order_uids = explode($this->_cart_cookie_delimeter, get_cookie($this->_cart_cookie_name));
+ }
+ // delete_cookie($this->_cart_cookie_name);
+ set_cookie([
+ 'name' => $this->_cart_cookie_name,
+ 'value' => implode($this->_cart_cookie_delimeter, [...$order_uids, $entity->getPrimaryKey()]),
+ 'expire' => time() + $this->_cart_cookie_expire,
+ 'domain' => ".localhost",
+ 'path' => '/',
+ ]);
+ } catch (CookieException $e) {
+ throw new \Exception(__FUNCTION__ . "에서 오류발생:\n" . $e->getMessage());
+ }
+ }
+ // private function setOrderCookie_ORG(OrderEntity $entity)
+ // {
+ // $order_uids = array();
+ // if (isset($_COOKIE[$this->_cart_cookie_name])) {
+ // $order_uids = explode($this->_cart_cookie_delimeter, $_COOKIE[$this->_cart_cookie_name]);
+ // }
+ // // setcookie($this->_cart_cookie_name, time() - $this->_cart_cookie_expire);
+ // if (setcookie(
+ // $this->_cart_cookie_name,
+ // implode($this->_cart_cookie_delimeter, [...$order_uids, $entity->getPrimaryKey()]),
+ // time() + $this->_cart_cookie_expire,
+ // '/',
+ // '.localhost'
+ // )) {
+ // throw new \Exception(__FUNCTION__ . "에서 SetCookie 오류발생");
+ // }
+ // }
+
+ //장바구니에 담기
+ protected function insert_process()
+ {
+ //fieldData Rule 검사및 fieldData 적용
+ parent::insert_process();
+ //상품재고 줄이기
+ $productModel = new ProductModel();
+ $product = $productModel->getEntity([$this->_model->getPrimaryKey() => $this->_viewDatas['fieldDatas']['product_uid']]);
+ //구매 금액 비교
+ $price = ($product->getPrice() - $product->getSale()) * $this->_viewDatas['fieldDatas']['quantity'];
+ if ($price != $this->_viewDatas['fieldDatas']['price']) {
+ throw new \Exception("실 상품금액{$price} 와 구매금액{$this->_viewDatas['fieldDatas']['price']}이 서로 다릅니다.");
+ }
+ $productModel->decreaseStock($product, $this->_viewDatas['fieldDatas']['quantity']);
+ }
+ public function insert()
+ {
+ $msg = "";
+ try {
+ $this->_viewDatas['fields'] = $this->_model->getFields(__FUNCTION__);
+ $this->_viewDatas['fieldRules'] = $this->_model->getFieldRules($this->_viewDatas['fields'], __FUNCTION__);
+ $this->insert_process();
+ //Transaction 시작
+ $this->_model->transStart();
+ $entity = $this->_model->create($this->_viewDatas['fieldDatas']);
+ $this->setOrderCookie($entity);
+ //Transaction Commit
+ $this->_model->transComplete();
+ $msg = sprintf(
+ "%s에서 해당 상품 %s개를 장바구니에 담았습니다.",
+ $this->_viewDatas['title'],
+ $this->_viewDatas['fieldDatas']['quantity']
+ );
+ return redirect()->to($this->_session->getFlashdata(SESSION_NAMES['RETURN_URL']));
+ } catch (\Exception $e) {
+ //Transaction Rollback
+ $this->_model->transRollback();
+ log_message("error", $e->getMessage());
+ $msg = sprintf(
+ "%s에서 다음 오류로 인해 장바구니에 담기를 실패하였습니다.\n%s",
+ $this->_viewDatas['title'],
+ $e->getMessage()
+ );
+ return redirect()->to($this->_session->getFlashdata(SESSION_NAMES['RETURN_URL']));
+ } finally {
+ $this->_session->setFlashdata("return_message", $msg);
+ }
+ }
+}
diff --git a/app/Controllers/Front/ProductController.php b/app/Controllers/Front/ProductController.php
new file mode 100644
index 0000000..b6137c8
--- /dev/null
+++ b/app/Controllers/Front/ProductController.php
@@ -0,0 +1,35 @@
+_model = new ProductModel();
+ parent::initController($request, $response, $logger);
+ $this->_viewDatas['title'] = lang($this->_model->getClassName() . '.title');
+ $this->_viewPath .= strtolower($this->_model->getClassName());
+ helper($this->_model->getClassName());
+ }
+
+ //Field별 Form Datas 처리용
+ protected function getFieldFormData(string $field, $entity = null): array
+ {
+ switch ($field) {
+ case 'photo':
+ $this->_viewDatas['fieldDatas'][$field] = $this->single_upload_procedure($field, $entity);
+ break;
+ default:
+ return parent::getFieldFormData($field, $entity);
+ break;
+ }
+ return $this->_viewDatas['fieldDatas'];
+ }
+}
diff --git a/app/Views/admin/product/view.php b/app/Views/admin/product/view.php
index dd97d54..c658d85 100644
--- a/app/Views/admin/product/view.php
+++ b/app/Views/admin/product/view.php
@@ -12,11 +12,4 @@
-
- getStatus() == DEFAULTS['STATUS']) : ?>
- = $this->include('admin/product/orderform'); ?>
-
- 이제품은 현재[= lang('Product.STATUS.' . $entity->getStatus()) ?>]입니다.
-
-
= $this->endSection() ?>
\ No newline at end of file
diff --git a/app/Views/front/order/index.php b/app/Views/front/order/index.php
new file mode 100644
index 0000000..7fa08ff
--- /dev/null
+++ b/app/Views/front/order/index.php
@@ -0,0 +1,35 @@
+= $this->extend('layouts/front') ?>
+= $this->section('content') ?>
+
+
+ = form_open(current_url(), array("method" => "get")) ?>
+
+ 조건검색:- = getFieldFilter_OrderHelper($field, $$field, $fieldFormOptions) ?>
+ = $this->include('templates/front/index_head'); ?>
+
+ = form_close(); ?>
+
+
+
+ | 번호 |
+ = getFieldIndex_Column_OrderHelper($field, $order_field, $order_value) ?> |
+
+
+
+ getStatus() != DEFAULTS['STATUS'] ? 'class="table-danger" rowcolor="red"' : 'rowcolor="red"' ?> onClick="indexRowCheckBoxToggle(this);">
+ |
+ = form_checkbox(["id" => "checkbox_uid_{$entity->getPrimaryKey()}", "name" => "batchjob_uids[]", "value" => $entity->getPrimaryKey(), "class" => "batchjobuids_checkboxs"]); ?>
+ = $total_count - (($page - 1) * $per_page + $i) ?>
+ |
+
+ = getFieldIndex_Row_OrderHelper($field, $entity, $fieldFilters, $fieldFormOptions) ?> |
+
+
+
+
+
+
+ = $pagination ?>
+
+
+= $this->endSection() ?>
\ No newline at end of file
diff --git a/app/Views/front/order/view.php b/app/Views/front/order/view.php
new file mode 100644
index 0000000..cff0668
--- /dev/null
+++ b/app/Views/front/order/view.php
@@ -0,0 +1,16 @@
+= $this->extend('layouts/front') ?>
+= $this->section('content') ?>
+
+= $this->endSection() ?>
\ No newline at end of file
diff --git a/app/Views/front/product/index.php b/app/Views/front/product/index.php
new file mode 100644
index 0000000..2ba40c6
--- /dev/null
+++ b/app/Views/front/product/index.php
@@ -0,0 +1,34 @@
+= $this->extend('layouts/front') ?>
+= $this->section('content') ?>
+
+
+ = form_open(current_url(), array("method" => "get")) ?>
+
+ 조건검색:- = getFieldFilter_ProductHelper($field, $$field, $fieldFormOptions) ?>
+ = $this->include('templates/front/index_head'); ?>
+
+ = form_close(); ?>
+
+
+
+ | 번호 |
+ = getFieldIndex_Column_ProductHelper($field, $order_field, $order_value) ?> |
+
+
+
+ getStatus() != DEFAULTS['STATUS'] ? 'class="table-danger" rowcolor="red"' : 'rowcolor="red"' ?> onClick="indexRowCheckBoxToggle(this);">
+ |
+ $total_count - (($page - 1) * $per_page + $i) ?>
+ |
+
+ = getFieldIndex_Row_ProductHelper($field, $entity, $fieldFilters, $fieldFormOptions) ?> |
+
+
+
+
+
+
+ = $pagination ?>
+
+
+= $this->endSection() ?>
\ No newline at end of file
diff --git a/app/Views/admin/product/orderform.php b/app/Views/front/product/orderform.php
similarity index 94%
rename from app/Views/admin/product/orderform.php
rename to app/Views/front/product/orderform.php
index ce3dbf7..79a8fe1 100644
--- a/app/Views/admin/product/orderform.php
+++ b/app/Views/front/product/orderform.php
@@ -1,4 +1,4 @@
-= form_open("admin/order/insert", ['method' => 'post']) ?>
+= form_open("front/order/insert", ['method' => 'post']) ?>
= form_hidden("product_uid", $entity->getPrimaryKey()) ?>
extend('layouts/front') ?>
+= $this->section('content') ?>
+
+
+
+ getStatus() == DEFAULTS['STATUS']) : ?>
+ = $this->include('front/product/orderform'); ?>
+
+ 이제품은 현재[= lang('Product.STATUS.' . $entity->getStatus()) ?>]입니다.
+
+
+ = $this->endSection() ?>
\ No newline at end of file
diff --git a/app/Views/layouts/front.php b/app/Views/layouts/front.php
index cd0645d..3e24c52 100644
--- a/app/Views/layouts/front.php
+++ b/app/Views/layouts/front.php
@@ -6,40 +6,44 @@
-
+ = $stylesheet ?>
-
+ = $javascript ?>
-
-
+
+
-
+
+
+
+
= $title ?>
-
-
-
- include($layout['path'] . '/top_logo'); ?>
-
- include($layout['path'] . '/top_menu'); ?>
-
-
-
- renderSection('content') ?>
-
-
- include($layout['path'] . '/copyright'); ?>
-
+
+ = $this->include($layout['path'] . '/top_menu'); ?>
-
+
+
+ |
+ = $this->include($layout['path'] . '/left_menu'); ?>
+ |
+
+ = $this->include('templates/front/header'); ?>
+ = $this->renderSection('content') ?>
+ = $this->include('templates/front/footer'); ?>
+ = $this->include($layout['path'] . '/copyright'); ?>
+ |
+
+ = $this->include($layout['path'] . '/right_menu'); ?>
+ |
+
+
+