vhost init...2
This commit is contained in:
parent
513084d37c
commit
0059d69e46
@ -93,6 +93,31 @@ define('EVENT_PRIORITY_NORMAL', 100);
|
|||||||
*/
|
*/
|
||||||
define('EVENT_PRIORITY_HIGH', 10);
|
define('EVENT_PRIORITY_HIGH', 10);
|
||||||
|
|
||||||
|
//Categorys
|
||||||
|
define('MENULAYERS',[
|
||||||
|
'default' => 'aboutus',
|
||||||
|
'TOP'=>['aboutus'=>'AboutUS','hosting'=>'Hosting','service'=>'Service','support'=>'Support'],
|
||||||
|
'SECOND'=>
|
||||||
|
['aboutus'=>[
|
||||||
|
'greeting'=>'인사말',
|
||||||
|
'companyinfo'=>'회사소개',
|
||||||
|
],
|
||||||
|
'hosting'=>[
|
||||||
|
'beremetal'=>'단독서버',
|
||||||
|
'virtual'=>'가상서버',
|
||||||
|
],
|
||||||
|
'service'=>[
|
||||||
|
'line'=>'단독회선',
|
||||||
|
'vpn'=>'VPN',
|
||||||
|
'ddos'=>'DDOS',
|
||||||
|
],
|
||||||
|
'support'=>[
|
||||||
|
'information'=>'공지사항',
|
||||||
|
'refrence'=>'자료실',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
]);
|
||||||
|
|
||||||
define('LAYOUTS', [
|
define('LAYOUTS', [
|
||||||
'empty' => [
|
'empty' => [
|
||||||
'path' => 'layouts' . DIRECTORY_SEPARATOR . 'empty',
|
'path' => 'layouts' . DIRECTORY_SEPARATOR . 'empty',
|
||||||
@ -106,6 +131,7 @@ define('LAYOUTS', [
|
|||||||
]
|
]
|
||||||
],
|
],
|
||||||
'front' => [
|
'front' => [
|
||||||
|
'title' => '사용자화면',
|
||||||
'path' => 'layouts' . DIRECTORY_SEPARATOR . 'front',
|
'path' => 'layouts' . DIRECTORY_SEPARATOR . 'front',
|
||||||
'stylesheets' => [
|
'stylesheets' => [
|
||||||
'<link rel="icon" href="/favicon.ico">',
|
'<link rel="icon" href="/favicon.ico">',
|
||||||
@ -123,9 +149,11 @@ define('LAYOUTS', [
|
|||||||
'<script src="//cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js" integrity="sha384-geWF76RCwLtnZ8qwWowPQNguL3RmwHVBC9FhGdlKrxdiJJigb/j/68SIy3Te4Bkz" crossorigin="anonymous"></script>',
|
'<script src="//cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js" integrity="sha384-geWF76RCwLtnZ8qwWowPQNguL3RmwHVBC9FhGdlKrxdiJJigb/j/68SIy3Te4Bkz" crossorigin="anonymous"></script>',
|
||||||
'<script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>',
|
'<script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>',
|
||||||
'<script src="/vendors/tinymce/tinymce/tinymce.min.js" referrerpolicy="origin"></script>',
|
'<script src="/vendors/tinymce/tinymce/tinymce.min.js" referrerpolicy="origin"></script>',
|
||||||
]
|
],
|
||||||
|
'menus' => ['aboutus', 'hosting', 'service', 'support'],
|
||||||
],
|
],
|
||||||
'admin' => [
|
'admin' => [
|
||||||
|
'title' => '관리자화면',
|
||||||
'path' => 'layouts' . DIRECTORY_SEPARATOR . 'admin',
|
'path' => 'layouts' . DIRECTORY_SEPARATOR . 'admin',
|
||||||
'stylesheets' => [
|
'stylesheets' => [
|
||||||
'<link rel="icon" href="/favicon.ico">',
|
'<link rel="icon" href="/favicon.ico">',
|
||||||
@ -145,26 +173,6 @@ define('LAYOUTS', [
|
|||||||
'<script src="/vendors/tinymce/tinymce/tinymce.min.js" referrerpolicy="origin"></script>',
|
'<script src="/vendors/tinymce/tinymce/tinymce.min.js" referrerpolicy="origin"></script>',
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
'main' => [
|
|
||||||
'path' => 'layouts' . DIRECTORY_SEPARATOR . 'main',
|
|
||||||
'stylesheets' => [
|
|
||||||
'<link rel="icon" href="/favicon.ico">',
|
|
||||||
'<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">',
|
|
||||||
'<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/bootstrap-icons@1.10.5/font/bootstrap-icons.css">',
|
|
||||||
'<link href="//cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">',
|
|
||||||
'<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css">',
|
|
||||||
'<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/select2-bootstrap-5-theme@1.3.0/dist/select2-bootstrap-5-theme.min.css" />',
|
|
||||||
'<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/boxicons@latest/css/boxicons.min.css" />',
|
|
||||||
'<link rel="stylesheet" href="/css/style.css" />',
|
|
||||||
],
|
|
||||||
'javascripts' => [
|
|
||||||
'<script src="//cdn.jsdelivr.net/npm/jquery@3.7.0/dist/jquery.min.js"></script>',
|
|
||||||
'<script src="//code.jquery.com/ui/1.12.1/jquery-ui.min.js" integrity="sha256-VazP97ZCwtekAsvgPBSUwPFKdrwD3unUfSGVYrahUqU=" crossorigin="anonymous"></script>',
|
|
||||||
'<script src="//cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js" integrity="sha384-geWF76RCwLtnZ8qwWowPQNguL3RmwHVBC9FhGdlKrxdiJJigb/j/68SIy3Te4Bkz" crossorigin="anonymous"></script>',
|
|
||||||
'<script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>',
|
|
||||||
'<script src="/vendors/tinymce/tinymce/tinymce.min.js" referrerpolicy="origin"></script>',
|
|
||||||
]
|
|
||||||
],
|
|
||||||
]);
|
]);
|
||||||
|
|
||||||
//URL
|
//URL
|
||||||
|
|||||||
@ -18,6 +18,9 @@ abstract class FrontController extends BaseController
|
|||||||
$this->_viewPath = 'front/';
|
$this->_viewPath = 'front/';
|
||||||
$this->_viewDatas['control'] = 'front';
|
$this->_viewDatas['control'] = 'front';
|
||||||
$this->_viewDatas['layout'] = LAYOUTS['front'];
|
$this->_viewDatas['layout'] = LAYOUTS['front'];
|
||||||
|
$this->_viewDatas['title'] = LAYOUTS['front']['title'];
|
||||||
|
$this->_viewDatas['MENULAYERS'] = MENULAYERS;
|
||||||
|
$this->_viewDatas['category'] = MENULAYERS['default'];
|
||||||
}
|
}
|
||||||
|
|
||||||
final protected function getCategoryModel(): CategoryModel
|
final protected function getCategoryModel(): CategoryModel
|
||||||
|
|||||||
@ -2,7 +2,6 @@
|
|||||||
|
|
||||||
namespace App\Controllers\Front;
|
namespace App\Controllers\Front;
|
||||||
|
|
||||||
use App\Entities\CategoryEntity;
|
|
||||||
use CodeIgniter\HTTP\RequestInterface;
|
use CodeIgniter\HTTP\RequestInterface;
|
||||||
use CodeIgniter\HTTP\ResponseInterface;
|
use CodeIgniter\HTTP\ResponseInterface;
|
||||||
use Psr\Log\LoggerInterface;
|
use Psr\Log\LoggerInterface;
|
||||||
|
|||||||
@ -17,7 +17,7 @@ CREATE TABLE vhost.tw_user (
|
|||||||
PRIMARY KEY (uid),
|
PRIMARY KEY (uid),
|
||||||
UNIQUE KEY (id),
|
UNIQUE KEY (id),
|
||||||
UNIQUE KEY (email)
|
UNIQUE KEY (email)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT ='사용자 정보';
|
) ENGINE=InnoDB COMMENT ='사용자 정보';
|
||||||
-- insert into tw_user (uid,id,passwd,name,email,role,status) select uuid(),id,passwd,name,email,role,status from cfmgr.user;
|
-- insert into tw_user (uid,id,passwd,name,email,role,status) select uuid(),id,passwd,name,email,role,status from cfmgr.user;
|
||||||
DROP TABLE IF EXISTS vhost.tw_user_profile;
|
DROP TABLE IF EXISTS vhost.tw_user_profile;
|
||||||
|
|
||||||
@ -37,39 +37,9 @@ CREATE TABLE vhost.tw_user_sns (
|
|||||||
PRIMARY KEY (uid),
|
PRIMARY KEY (uid),
|
||||||
UNIQUE KEY (site,id),
|
UNIQUE KEY (site,id),
|
||||||
CONSTRAINT FOREIGN KEY (user_uid) REFERENCES tw_user (uid) ON DELETE CASCADE
|
CONSTRAINT FOREIGN KEY (user_uid) REFERENCES tw_user (uid) ON DELETE CASCADE
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT ='SNS 로그인 후 정보';
|
) ENGINE=InnoDB COMMENT ='SNS 로그인 후 정보';
|
||||||
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS vhost.tw_category;
|
|
||||||
-- 1. 게시물 추가전 grpno에 해당하는 max(grporder)+1씩증가 작업
|
|
||||||
-- update tw_category set grporder=grporder+1 where grpno=그룹번호 and grporder > 선택한 grpno
|
|
||||||
-- 2. 게시물 추가시 작업
|
|
||||||
-- insert tw_category grpno=그룹번호,grporder=grporder+1,grpdepth=grpdepth+1
|
|
||||||
-- 3. 게시물 조회시 작업
|
|
||||||
-- select * from tw_category order by grpno desc,grporder asc
|
|
||||||
CREATE TABLE vhost.tw_category (
|
|
||||||
uid int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
||||||
grpno int(10) UNSIGNED NOT NULL DEFAULT 1 COMMENT 'Group번호: 상위가없을시 기본 uid와 같음,항상 숫자여야함',
|
|
||||||
grporder int(5) UNSIGNED NOT NULL DEFAULT 1 COMMENT 'Group순서: 상위가없을시 1부터시작',
|
|
||||||
grpdepth int(3) UNSIGNED NOT NULL DEFAULT 1 COMMENT 'Group깊이: 상위가없을시 1부터시작 , 상위 grpdepth+1씩 추가필요',
|
|
||||||
parent_uid int(10) UNSIGNED NULL COMMENT '부모UID',
|
|
||||||
name varchar(255) NOT NULL COMMENT '분류명',
|
|
||||||
linkurl varchar(100) NOT NULL DEFAULT '/front/board' COMMENT 'Front Link URL',
|
|
||||||
isaccess varchar(30) NOT NULL DEFAULT 'guest' COMMENT '접근권한',
|
|
||||||
isread varchar(30) NOT NULL DEFAULT 'guest' COMMENT '읽기권한',
|
|
||||||
iswrite varchar(30) NOT NULL DEFAULT 'guest' COMMENT '쓰기권한',
|
|
||||||
isreply varchar(30) NOT NULL DEFAULT 'guest' COMMENT '답글권한',
|
|
||||||
isupload varchar(30) NOT NULL DEFAULT 'guest' COMMENT 'Upload권한',
|
|
||||||
isdownload varchar(30) NOT NULL DEFAULT 'guest' COMMENT 'Download권한',
|
|
||||||
head text NULL COMMENT '위 내용',
|
|
||||||
tail text NULL COMMENT '아래 내용',
|
|
||||||
status varchar(10) NOT NULL DEFAULT 'use' COMMENT 'use: 표시,unuse: 표시않함',
|
|
||||||
updated_at timestamp NULL DEFAULT NULL,
|
|
||||||
created_at timestamp NOT NULL DEFAULT current_timestamp(),
|
|
||||||
deleted_at timestamp NULL DEFAULT NULL,
|
|
||||||
PRIMARY KEY (uid)
|
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT ='분류';
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS vhost.tw_board;
|
DROP TABLE IF EXISTS vhost.tw_board;
|
||||||
-- 1. 게시물 추가전 grpno에 해당하는 max(grporder)+1씩증가 작업
|
-- 1. 게시물 추가전 grpno에 해당하는 max(grporder)+1씩증가 작업
|
||||||
-- update tw_board set grporder=grporder+1 where grpno=그룹번호 and grporder > 선택한 grpno
|
-- update tw_board set grporder=grporder+1 where grpno=그룹번호 and grporder > 선택한 grpno
|
||||||
@ -79,11 +49,11 @@ DROP TABLE IF EXISTS vhost.tw_board;
|
|||||||
-- select * from tw_board order by grpno desc,grporder asc
|
-- select * from tw_board order by grpno desc,grporder asc
|
||||||
CREATE TABLE vhost.tw_board (
|
CREATE TABLE vhost.tw_board (
|
||||||
uid int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
uid int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||||
|
category varchar(50) NOT NULL DEFAULT 'information' COMMENT '공지사항',
|
||||||
grpno int(10) UNSIGNED NOT NULL DEFAULT 1 COMMENT 'Group번호: 상위가없을시 기본 uid와 같음,항상 숫자여야함',
|
grpno int(10) UNSIGNED NOT NULL DEFAULT 1 COMMENT 'Group번호: 상위가없을시 기본 uid와 같음,항상 숫자여야함',
|
||||||
grporder int(5) UNSIGNED NOT NULL DEFAULT 1 COMMENT 'Group순서: 상위가없을시 1부터시작',
|
grporder int(5) UNSIGNED NOT NULL DEFAULT 1 COMMENT 'Group순서: 상위가없을시 1부터시작',
|
||||||
grpdepth int(3) UNSIGNED NOT NULL DEFAULT 1 COMMENT 'Group깊이: 상위가없을시 1부터시작 , 상위 grpdepth+1씩 추가필요',
|
grpdepth int(3) UNSIGNED NOT NULL DEFAULT 1 COMMENT 'Group깊이: 상위가없을시 1부터시작 , 상위 grpdepth+1씩 추가필요',
|
||||||
parent_uid int(10) UNSIGNED NULL COMMENT '부모UID',
|
parent_uid int(10) UNSIGNED NULL COMMENT '부모UID',
|
||||||
category_uid int(10) UNSIGNED NOT NULL COMMENT '분류 UID',
|
|
||||||
user_uid varchar(36) NULL COMMENT '작성자 정보',
|
user_uid varchar(36) NULL COMMENT '작성자 정보',
|
||||||
title varchar(255) NOT NULL COMMENT '제목',
|
title varchar(255) NOT NULL COMMENT '제목',
|
||||||
content text NOT NULL COMMENT '내용',
|
content text NOT NULL COMMENT '내용',
|
||||||
@ -95,6 +65,5 @@ CREATE TABLE vhost.tw_board (
|
|||||||
created_at timestamp NOT NULL DEFAULT current_timestamp(),
|
created_at timestamp NOT NULL DEFAULT current_timestamp(),
|
||||||
deleted_at timestamp NULL DEFAULT NULL,
|
deleted_at timestamp NULL DEFAULT NULL,
|
||||||
PRIMARY KEY (uid),
|
PRIMARY KEY (uid),
|
||||||
CONSTRAINT FOREIGN KEY (category_uid) REFERENCES tw_category (uid),
|
|
||||||
CONSTRAINT FOREIGN KEY (user_uid) REFERENCES tw_user (uid)
|
CONSTRAINT FOREIGN KEY (user_uid) REFERENCES tw_user (uid)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT ='게시물 정보';
|
) ENGINE=InnoDB COMMENT ='게시물 정보';
|
||||||
11
app/Views/front/board/cell/information.php
Normal file
11
app/Views/front/board/cell/information.php
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<table class="table table-hover">
|
||||||
|
<tbody>
|
||||||
|
<?php foreach ($viewDatas['cellDatas']['entitys'] as $entity): ?>
|
||||||
|
<tr>
|
||||||
|
<?php foreach (['title', 'created_at'] as $field): ?>
|
||||||
|
<td><?= getFieldIndex_Row_BoardHelper($field, $entity, $viewDatas) ?></td>
|
||||||
|
<?php endforeach ?>
|
||||||
|
</tr>
|
||||||
|
<?php endforeach ?>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
87
app/Views/front/product/cell/virtual_calculator.php
Normal file
87
app/Views/front/product/cell/virtual_calculator.php
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
<link href="/css/front/virtual_calculator.css" media="screen" rel="stylesheet" type="text/css" />
|
||||||
|
<script>
|
||||||
|
function calculator(order_price) {
|
||||||
|
var parts = Array.from(document.getElementsByClassName("vhost_parts"));
|
||||||
|
parts.forEach(function(part) { //loop
|
||||||
|
//console.log(part);
|
||||||
|
order_price += parseInt((part.getAttribute('cost') - part.getAttribute('sale')) * part.options[part.selectedIndex].value);
|
||||||
|
document.getElementById('price').value = order_price;
|
||||||
|
document.getElementById('order_price').textContent = new Intl.NumberFormat().format(order_price);
|
||||||
|
});
|
||||||
|
var current = document.getElementById('paymentday');
|
||||||
|
if (!current.selectedIndex) {
|
||||||
|
alert("결제일을 선택해주세요");
|
||||||
|
current.focus();
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<div id="virtual_calculator">
|
||||||
|
<?= form_open(URLS['addCart'], [
|
||||||
|
'method' => 'post',
|
||||||
|
"onsubmit" => 'return calculator(' . $viewDatas['parts']['virtual']['default']['baserate'] . ')'
|
||||||
|
]) ?>
|
||||||
|
<input type="hidden" id="category" name="category" value="virtual">
|
||||||
|
<input type="hidden" id="price" name="price">
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th scope="col" colspan="3">가상서버 견적 계산기</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<th>기본요금</th>
|
||||||
|
<td>
|
||||||
|
<strong><?= number_format($viewDatas['parts']['virtual']['default']['baserate']) ?>원</strong>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<?php foreach ($viewDatas['parts']['virtual']['category'] as $category => $attrs) : ?>
|
||||||
|
<tr>
|
||||||
|
<th><?= $attrs['label'] ?></th>
|
||||||
|
<td>
|
||||||
|
<strong class="line-through"><?= number_format($attrs['cost']) ?>원</strong>
|
||||||
|
<strong class="f-back">할인가 <?= number_format($attrs['cost'] - $attrs['sale']) ?></strong> *
|
||||||
|
<?= form_dropdown(
|
||||||
|
$category,
|
||||||
|
$attrs['options'],
|
||||||
|
old($category, 0),
|
||||||
|
[
|
||||||
|
'id' => $category,
|
||||||
|
'class' => 'vhost_parts',
|
||||||
|
'cost' => $attrs['cost'],
|
||||||
|
'sale' => $attrs['sale'],
|
||||||
|
'onChange' => "calculator(" . $viewDatas['parts']['virtual']['default']['baserate'] . ")"
|
||||||
|
]
|
||||||
|
) ?>
|
||||||
|
<?= $attrs['unit'] ?>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<?php endforeach ?>
|
||||||
|
<tr>
|
||||||
|
<th>결제일</th>
|
||||||
|
<td class="column">
|
||||||
|
<?php $paymentDayOptions = ['' => "결제일 선택"];
|
||||||
|
for ($i = 1; $i <= 28; $i++) {
|
||||||
|
$paymentDayOptions[$i] = "매월 {$i}일";
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
<?= form_dropdown('paymentday', $paymentDayOptions, old('paymentday', 25), ['id' => 'paymentday']);
|
||||||
|
?>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th class="none">주문금액</th>
|
||||||
|
<td class="none" colspan="3">
|
||||||
|
<span id="order_price">0</span>원
|
||||||
|
<?= form_submit('', '신청', array("class" => "btn btn-outline btn-primary")); ?>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<?= form_close() ?>
|
||||||
|
<script type="text/javascript">
|
||||||
|
window.onload = calculator(<?= $viewDatas['parts']['virtual']['default']['baserate'] ?>);
|
||||||
|
</script>
|
||||||
|
<?= $viewDatas['session']->getFlashdata('return_message') ? alert_CommonHelper($viewDatas['session']->getFlashdata('return_message')) : "" ?>
|
||||||
|
</div>
|
||||||
@ -8,17 +8,18 @@
|
|||||||
<nav class="nav"><a class="navbar-brand" href="/">HOME</a></nav>
|
<nav class="nav"><a class="navbar-brand" href="/">HOME</a></nav>
|
||||||
<nav class="nav justify-content-center"></nav>
|
<nav class="nav justify-content-center"></nav>
|
||||||
<ul class="nav justify-content-end">
|
<ul class="nav justify-content-end">
|
||||||
<?php foreach ($viewDatas['layout']['top_menus'] as $top_menu): ?>
|
<li class="nav-item" style="padding-top:10px;">|</li>
|
||||||
|
<?php foreach ($viewDatas['layout']['menus'] as $menu_key): ?>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<div class="dropdown-center">
|
<div class="dropdown-center">
|
||||||
<ul class="navbar-nav">
|
<ul class="navbar-nav">
|
||||||
<li class="nav-item dropdown">
|
<li class="nav-item dropdown">
|
||||||
<a class="nav-link" id="navbarDarkDropdownMenuLink" role="button" data-bs-toggle="dropdown" aria-expanded="false">
|
<a class="nav-link" id="navbarDarkDropdownMenuLink" role="button" data-bs-toggle="dropdown" aria-expanded="false">
|
||||||
<?= $viewDatas['categorys'][$top_menu]['parent']->getTitle() ?>
|
<?= $viewDatas['MENULAYERS']['TOP'][$menu_key] ?>
|
||||||
</a>
|
</a>
|
||||||
<ul class="dropdown-menu" aria-labelledby="navbarDarkDropdownMenuLink">
|
<ul class="dropdown-menu" aria-labelledby="navbarDarkDropdownMenuLink">
|
||||||
<?php foreach($viewDatas['categorys'][$top_menu]['childs'] as $child): ?>
|
<?php foreach($viewDatas['MENULAYERS']['SECOND'][$menu_key] as $child_key=>$child_label): ?>
|
||||||
<li><a class="dropdown-item <?= $child->getPrimaryKey() == $viewDatas['category'] ? "active" : "" ?>" href="/front/sitepage?category=<?= $child->getPrimaryKey() ?>"><?=$child->getTitle()?></a></li>
|
<li><a class="dropdown-item <?= $child_key == $viewDatas['category'] ? "active" : "" ?>" href="/front/sitepage?category=<?= $child_key ?>"><?=$child_label?></a></li>
|
||||||
<?php endforeach ?>
|
<?php endforeach ?>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
@ -45,7 +45,7 @@
|
|||||||
#top_menu div.dropdown-center ul.navbar-nav li.dropdown ul.dropdown-menu li{
|
#top_menu div.dropdown-center ul.navbar-nav li.dropdown ul.dropdown-menu li{
|
||||||
height:60px;
|
height:60px;
|
||||||
padding-top:15px;
|
padding-top:15px;
|
||||||
/* border:1px solid red; */
|
border-bottom:1px solid silver;
|
||||||
}
|
}
|
||||||
#top_menu div.dropdown-center ul.navbar-nav li.dropdown ul.dropdown-menu li a{
|
#top_menu div.dropdown-center ul.navbar-nav li.dropdown ul.dropdown-menu li a{
|
||||||
width:150px;
|
width:150px;
|
||||||
|
|||||||
1
writable/debugbar/debugbar_1714990298.161680.json
Normal file
1
writable/debugbar/debugbar_1714990298.161680.json
Normal file
File diff suppressed because one or more lines are too long
1
writable/debugbar/debugbar_1714990377.943834.json
Normal file
1
writable/debugbar/debugbar_1714990377.943834.json
Normal file
File diff suppressed because one or more lines are too long
1
writable/debugbar/debugbar_1714990477.673101.json
Normal file
1
writable/debugbar/debugbar_1714990477.673101.json
Normal file
File diff suppressed because one or more lines are too long
1
writable/debugbar/debugbar_1714990478.730585.json
Normal file
1
writable/debugbar/debugbar_1714990478.730585.json
Normal file
File diff suppressed because one or more lines are too long
1
writable/debugbar/debugbar_1714990609.629158.json
Normal file
1
writable/debugbar/debugbar_1714990609.629158.json
Normal file
File diff suppressed because one or more lines are too long
1
writable/debugbar/debugbar_1714990658.366149.json
Normal file
1
writable/debugbar/debugbar_1714990658.366149.json
Normal file
File diff suppressed because one or more lines are too long
1
writable/debugbar/debugbar_1714990723.494124.json
Normal file
1
writable/debugbar/debugbar_1714990723.494124.json
Normal file
File diff suppressed because one or more lines are too long
1
writable/debugbar/debugbar_1714990737.027535.json
Normal file
1
writable/debugbar/debugbar_1714990737.027535.json
Normal file
File diff suppressed because one or more lines are too long
1
writable/debugbar/debugbar_1714990855.441646.json
Normal file
1
writable/debugbar/debugbar_1714990855.441646.json
Normal file
File diff suppressed because one or more lines are too long
1
writable/debugbar/debugbar_1714991050.791727.json
Normal file
1
writable/debugbar/debugbar_1714991050.791727.json
Normal file
File diff suppressed because one or more lines are too long
1
writable/debugbar/debugbar_1714991588.450107.json
Normal file
1
writable/debugbar/debugbar_1714991588.450107.json
Normal file
File diff suppressed because one or more lines are too long
1
writable/debugbar/debugbar_1714991645.577178.json
Normal file
1
writable/debugbar/debugbar_1714991645.577178.json
Normal file
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user