作者 邓超

bbbbb

@@ -120,9 +120,493 @@ class TemplateController extends BaseController @@ -120,9 +120,493 @@ class TemplateController extends BaseController
120 $source = $this->param['source']??''; 120 $source = $this->param['source']??'';
121 $source_id = $this->param['source_id']??0; 121 $source_id = $this->param['source_id']??0;
122 122
123 - $data = TemplateLogic::instance()->first($source,$source_id); 123 + if($source=='index'){
  124 + $def = '<!DOCTYPE html>
  125 +<html lang="en">
  126 +
  127 +<head>
  128 + <meta charset="utf-8">
  129 + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  130 + <meta name="description" content="">
  131 + <meta name="author" content="">
  132 + <link rel="icon" href="../../favicon.ico">
  133 +
  134 + <title>Example Template for Bootstrap</title>
  135 +
  136 + <link href="../../css/editor.css" rel="stylesheet">
  137 +
  138 + <script src="../../js/jquery.min.js"></script>
  139 + <script src="../../js/popper.min.js"></script>
  140 + <script src="../../js/bootstrap.min.js"></script>
  141 +
  142 + <link href="example.css" rel="stylesheet">
  143 +
  144 + <script src="../../libs/aos/aos.js"></script>
  145 + <link href="../../libs/aos/aos.css" rel="stylesheet">
  146 +
  147 + <script src="../../libs/swiper/swiper.js"></script>
  148 + <link href="../../libs/swiper/swiper.css" rel="stylesheet">
  149 +</head>
  150 +
  151 +<body>
  152 + <header noAction id="globalso-header" class="web_head testnoaction screen-xxl sticky-top ">
  153 + <div class=" layout">
  154 + <div class=" d-flex align-items-center justify-content-between py-md-4">
  155 + <div class="logo w-25 w-sm-auto"><a href="#"><img class="img-fluid" src="img/logo.png" alt=""></a></div>
  156 + <nav class="navbar navbar-expand-md navbar-dark flex-fill justify-content-end mx-2 pe-md-5">
  157 + <button class="navbar-toggler" type="button" data-bs-toggle="offcanvas" data-bs-target="#navMenu"
  158 + aria-controls="navMenu">
  159 + <span class="navbar-toggler-icon"></span>
  160 + </button>
  161 + <ul class="nav column-gap-5 justify-content-end text-white d-none d-md-flex">
  162 + <li><a href="#">Home</a></li>
  163 + <li class="dropdown">
  164 + <a href="#" class="dropdown-toggle" data-bs-toggle="dropdown">Products</a>
  165 + <ul class="dropdown-menu fs-6 text-body shadow-sm border-0">
  166 + <li><a href="#" class="dropdown-item py-2">Product Information</a></li>
  167 + <li><a href="#" class="dropdown-item py-2">Change of Insurance</a></li>
  168 + <li><a href="#" class="dropdown-item py-2">Traveling Oxygen Program</a></li>
  169 + <li><a href="#" class="dropdown-item py-2">Contact</a></li>
  170 + </ul>
  171 + </li>
  172 + <li><a href="#">News</a></li>
  173 + <li><a href="#">Download</a></li>
  174 + <li><a href="#">FAQ</a></li>
  175 + <li><a href="#">Contact</a></li>
  176 + </ul>
  177 + </nav>
  178 + <div class="d-flex align-items-center justify-content-end">
  179 + <div class="search">
  180 + <button type="button" class="btn border-0" data-bs-toggle="dropdown">
  181 + <svg viewBox="0 0 24 24" width="18" height="18" stroke="#ffffff" stroke-width="2"
  182 + fill="none" stroke-linecap="round" stroke-linejoin="round" class="css-i6dzq1">
  183 + <circle cx="11" cy="11" r="8"></circle>
  184 + <line x1="21" y1="21" x2="16.65" y2="16.65"></line>
  185 + </svg>
  186 + </button>
  187 + <div class="dropdown-menu p-3 shadow-sm border-0">
  188 + <form action="">
  189 + <div class="d-flex mb-2">
  190 + <input type="text" class="form-control" name="search" placeholder="Start Typing...">
  191 + <button class="btn btn-search border-0" type="submit">
  192 + <svg viewBox="0 0 24 24" width="18" height="18" stroke="#333333"
  193 + stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"
  194 + class="css-i6dzq1">
  195 + <circle cx="11" cy="11" r="8"></circle>
  196 + <line x1="21" y1="21" x2="16.65" y2="16.65"></line>
  197 + </svg>
  198 + </button>
  199 + </div>
  200 + <p class="search-attr">Hit enter to search or ESC to close</p>
  201 + </form>
  202 + </div>
  203 + </div>
  204 + <div class="change-language ms-md-4">
  205 + <div role="button" class="dropdown-toggle text-white d-flex align-items-center"
  206 + data-bs-toggle="dropdown">
  207 + <b class="country-flag language-flag-en"></b> <span>English</span>
  208 + </div>
  209 + <div class="dropdown-menu shadow-sm border-0">
  210 + <div class="d-flex flex-wrap p-3 text-body">
  211 + <a href="#" class="col-4 mb-3 pe-2 d-flex align-items-center" title="English">
  212 + <b class="country-flag language-flag-en"></b>
  213 + <span>English</span>
  214 + </a>
  215 + <a href="#" class="col-4 mb-3 pe-2 d-flex align-items-center" title="Françai">
  216 + <b class="country-flag language-flag-fr"></b>
  217 + <span>Françai</span>
  218 + </a>
  219 + <a href="#" class="col-4 mb-3 pe-2 d-flex align-items-center" title="Español">
  220 + <b class="country-flag language-flag-es"></b>
  221 + <span>Español</span>
  222 + </a>
  223 + <a href="#" class="col-4 mb-3 pe-2 d-flex align-items-center" title="Deutsch">
  224 + <b class="country-flag language-flag-de"></b>
  225 + <span>Deutsch</span>
  226 + </a>
  227 + <a href="#" class="col-4 mb-3 pe-2 d-flex align-items-center" title="Română">
  228 + <b class="country-flag language-flag-ro"></b>
  229 + <span>Română</span>
  230 + </a>
  231 + </div>
  232 + </div>
  233 + </div>
  234 + </div>
  235 + </div>
  236 + </div>
  237 + </header>
  238 +
  239 + <main class="web_main" id="globalso-main">
  240 + <section class="slider_banner screen-full position-relative testnoaction" data-aos="fade-up"
  241 + data-aos-delay="500" id="banner">
  242 + <div class="layout">
  243 + <div class="swiper-wrapper">
  244 + <div class="swiper-slide"><a href="#"> <img class=" img-fluid" src="img/banner01.jpg"
  245 + alt="slide1" /></a>
  246 + </div>
  247 + <div class="swiper-slide"><a href="#"> <img class=" img-fluid" src="img/banner02.jpg"
  248 + alt="slide2" /></a>
  249 + </div>
  250 + <div class="swiper-slide"><a href="#"> <img class=" img-fluid" src="img/banner01.jpg"
  251 + alt="slide3" /></a>
  252 + </div>
  253 + </div>
  254 + <div class="index-swiper-buttons">
  255 + <div class="swiper-button-prev la"></div>
  256 + <div class="swiper-button-next la"></div>
  257 + </div>
  258 + <div class="swiper-pagination">
  259 + </div>
  260 + </section>
  261 + <section noActionSection noAction class="product-1 screen-xxl mb-5 mt-0 block-item-4 testnoaction">
  262 + <div class="layout">
  263 + <div class="row gx-0">
  264 + <div class="index-hd text-center" data-aos="fade-up" data-aos-delay="500">
  265 + <h2 class="fs-1 fw-bold">New Products</h2>
  266 + </div>
  267 + <div class="index-bd default-product-items d-flex flex-wrap" data-aos="fade-up"
  268 + data-aos-delay="500">
  269 + <div class="default-product-item block-item" style="padding:10px">
  270 + <figure class="item-inner" style="padding:10px">
  271 + <div class="item-img" style="padding:10px">
  272 + <a href="#"><img class="img-fluid" src="img/index_pd01.png" alt=""></a>
  273 + </div>
  274 + <figcaption class="item-info">
  275 + <h3 class="item-title"><a href="#">Aluminum Bottle Cage</a></h3>
  276 + </figcaption>
  277 + </figure>
  278 + </div>
  279 + <div class="default-product-item block-item">
  280 + <figure class="item-inner">
  281 + <div class="item-img">
  282 + <a href="#"><img class="img-fluid" src="img/index_pd01.png" alt=""></a>
  283 + </div>
  284 + <figcaption class="item-info">
  285 + <h3 class="item-title"><a href="#">Aluminum Bottle Cage</a></h3>
  286 + </figcaption>
  287 + </figure>
  288 + </div>
  289 + <div class="default-product-item block-item">
  290 + <figure class="item-inner">
  291 + <div class="item-img">
  292 + <a href="#"><img class="img-fluid" src="img/index_pd01.png" alt=""></a>
  293 + </div>
  294 + <figcaption class="item-info">
  295 + <h3 class="item-title"><a href="#">Aluminum Bottle Cage</a></h3>
  296 + </figcaption>
  297 + </figure>
  298 + </div>
  299 + <div class="default-product-item block-item">
  300 + <figure class="item-inner">
  301 + <div class="item-img">
  302 + <a href="#"><img class="img-fluid" src="img/index_pd01.png" alt=""></a>
  303 + </div>
  304 + <figcaption class="item-info">
  305 + <h3 class="item-title"><a href="#">Aluminum Bottle Cage</a></h3>
  306 + </figcaption>
  307 + </figure>
  308 + </div>
  309 + <div class="default-product-item block-item">
  310 + <figure class="item-inner">
  311 + <div class="item-img">
  312 + <a href="#"><img class="img-fluid" src="img/index_pd01.png" alt=""></a>
  313 + </div>
  314 + <figcaption class="item-info">
  315 + <h3 class="item-title"><a href="#">Aluminum Bottle Cage</a></h3>
  316 + </figcaption>
  317 + </figure>
  318 + </div>
  319 + </div>
  320 + </div>
  321 + </div>
  322 + </section>
  323 + <section class="screen-xxl">
  324 + <div class="layout">
  325 + <div class="row">
  326 + <div class="col-md-4 p-3" data-aos="fade-up" data-aos-delay="500">
  327 + <i>
  328 + <svg viewBox="0 0 24 24" width="48" height="48" stroke="#318fff" stroke-width="1"
  329 + fill="none" stroke-linecap="round" stroke-linejoin="round" class="css-i6dzq1">
  330 + <path
  331 + d="M18 3a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3H6a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3V6a3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3h12a3 3 0 0 0 3-3 3 3 0 0 0-3-3z">
  332 + </path>
  333 + </svg>
  334 + </i>
  335 + <div class="la-3x text-body opacity-25 lh-1 my-4">01</div>
  336 + <div class="pe-4">
  337 + <h4 class="text-uppercase fw-bold">Saddles</h4>
  338 + <div class="mt-3 uu">Our store is ready to offer you the best saddle selection of all shapes
  339 + and
  340 + types for your bike.</div>
  341 + </div>
  342 + </div>
  343 + <div class="col-md-4 p-3" data-aos="fade-up" data-aos-delay="500">
  344 + <i>
  345 + <svg viewBox="0 0 24 24" width="48" height="48" stroke="#318fff" stroke-width="1"
  346 + fill="none" stroke-linecap="round" stroke-linejoin="round" class="css-i6dzq1">
  347 + <line x1="4" y1="21" x2="4" y2="14"></line>
  348 + <line x1="4" y1="10" x2="4" y2="3"></line>
  349 + <line x1="12" y1="21" x2="12" y2="12"></line>
  350 + <line x1="12" y1="8" x2="12" y2="3"></line>
  351 + <line x1="20" y1="21" x2="20" y2="16"></line>
  352 + <line x1="20" y1="12" x2="20" y2="3"></line>
  353 + <line x1="1" y1="14" x2="7" y2="14"></line>
  354 + <line x1="9" y1="8" x2="15" y2="8"></line>
  355 + <line x1="17" y1="16" x2="23" y2="16"></line>
  356 + </svg>
  357 + </i>
  358 + <div class="la-3x text-body opacity-25 lh-1 my-4">02</div>
  359 + <div class="pe-4">
  360 + <h4 class="text-uppercase fw-bold">rims &amp; Wheels</h4>
  361 + <p class="mt-3">Feel free to explore an extensive range of wheels, rims &amp; tires for
  362 + your
  363 + bike at our store.</p>
  364 + </div>
  365 + </div>
  366 + <div class="col-md-4 p-3" data-aos="fade-up" data-aos-delay="500">
  367 + <i>
  368 + <svg viewBox="0 0 24 24" width="48" height="48" stroke="#318fff" stroke-width="1"
  369 + fill="none" stroke-linecap="round" stroke-linejoin="round" class="css-i6dzq1">
  370 + <path
  371 + d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z">
  372 + </path>
  373 + <polyline points="7.5 4.21 12 6.81 16.5 4.21"></polyline>
  374 + <polyline points="7.5 19.79 7.5 14.6 3 12"></polyline>
  375 + <polyline points="21 12 16.5 14.6 16.5 19.79"></polyline>
  376 + <polyline points="3.27 6.96 12 12.01 20.73 6.96"></polyline>
  377 + <line x1="12" y1="22.08" x2="12" y2="12"></line>
  378 + </svg>
  379 + </i>
  380 + <div class="la-3x text-body opacity-25 lh-1 my-4">04</div>
  381 + <div class="pe-4">
  382 + <h4 class="text-uppercase fw-bold">Saddles</h4>
  383 + <p class="mt-3">Need a reliable and durable frame for your bike? Our store managers
  384 + will be
  385 + ready to help you.</p>
  386 + </div>
  387 + </div>
  388 + </div>
  389 + </div>
  390 + </section>
  391 + <section class="about-1 screen-xxl">
  392 + <div class="layout">
  393 + <div class="row">
  394 + <div class="col-lg-6" data-aos="fade-up" data-aos-delay="500">
  395 + <div class="company_show bg-light rounded-3 position-relative h-100">
  396 + <div class="swiper-wrapper">
  397 + <div class="swiper-slide p-4">
  398 + <a href="#"><img class=" img-fluid" src="img/company_intr_01.png" alt=""></a>
  399 + </div>
  400 + <div class="swiper-slide p-4">
  401 + <a href="#"><img class=" img-fluid" src="img/company_intr_02.png" alt=""></a>
  402 + </div>
  403 + <div class="swiper-slide p-4">
  404 + <a href="#"><img class=" img-fluid" src="img/company_intr_03.png" alt=""></a>
  405 + </div>
  406 + </div>
  407 + <div class="swiper-pagination"></div>
  408 + </div>
  409 + </div>
  410 + <div class="col-lg-6" data-aos="fade-up" data-aos-delay="500">
  411 + <div class="company_content ps-lg-5 py-5 py-lg-3">
  412 + <h2 class="fs-1 fw-bold">Why Choose Us</h2>
  413 + <dl class="my-4 my-sm-5 text-dark">
  414 + <dt class="fs-7">◎ Over 25 years of experience</dt>
  415 + <dd class="my-3">
  416 + Since 1990, we have been partnering with various suppliers and manufacturers of bike
  417 + parts
  418 + to provide our customers with high-quality replacement parts for their bikes for
  419 + over 25 years.
  420 + </dd>
  421 + <dt class="fs-7">◎ 5+ years of warranty on all parts</dt>
  422 + <dd class="my-3">
  423 + Every part you buy at our store is provided with exclusive 5-year warranty and some
  424 + parts
  425 + from premium manufacturers have even longer warranty.
  426 + </dd>
  427 + <dt class="fs-7">◎ Over 25 years of experience</dt>
  428 + <dd class="my-3">
  429 + We guarantee the best customer service with easy product returns &amp; replacements
  430 + as well
  431 + as 24-hour support for all our clients. Besides, every client also gets free
  432 + worldwide
  433 + delivery of any part from our catalog.
  434 + </dd>
  435 + </dl>
  436 + <a href="#" class="btn btn-primary px-4 fs-7">Learn More</a>
  437 + </div>
  438 + </div>
  439 + </div>
  440 + </div>
  441 + </section>
124 442
125 - $def = '<div class=" d-flex align-items-center justify-content-between py-md-4"> 443 + <section class="news-1 screen-xxl">
  444 + <div class="layout">
  445 + <div class="row gx-0 my-sm-4">
  446 + <div class="index_hd text-center" data-aos="fade-up" data-aos-delay="500">
  447 + <h2 class="fs-1 fw-bold">Our Blog</h2>
  448 + </div>
  449 + <div class="index-bd row pb-3 py-md-4 px-0 gx-0 gy-3" data-aos="fade-up" data-aos-delay="500">
  450 + <div class="col-sm-6 col-md-4 gx-3 gx-md-4 gy-3 gy-md-0">
  451 + <figure class="d-flex flex-column h-100">
  452 + <span class="item_img">
  453 + <a href=""><img class="img-fluid" src="img/news01.jpg" alt=""></a>
  454 + </span>
  455 + <figcaption class="bg-white p-3 flex-fill">
  456 + <time class="text-secondary">August 9, 2019</time>
  457 + <h3 class="fs-7 fs-sm-5 my-3 fw-bold">
  458 + <a href="#" class="text-body">Essential Commuter Accessories: Stock or DIY?</a>
  459 + </h3>
  460 + <p class="m-0 text-secondary">Lorem ipsum dolor sit amet, consetetur sadipscing
  461 + elitr, sed
  462 + diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed
  463 + diam voluptua. </p>
  464 + </figcaption>
  465 + </figure>
  466 + </div>
  467 + <div class="col-sm-6 col-md-4 gx-3 gx-md-4 gy-3 gy-md-0">
  468 + <figure class="d-flex flex-column h-100">
  469 + <span class="item_img">
  470 + <a href=""><img class=" img-fluid" src="img/news02.jpg" alt=""></a>
  471 + </span>
  472 + <figcaption class="bg-white p-3 flex-fill">
  473 + <time class="text-secondary">August 9, 2019</time>
  474 + <h3 class="fs-7 fs-sm-5 my-3 fw-bold">
  475 + <a href="#" class="text-body">5 Winter Biking Necessities that You Need to
  476 + Have</a>
  477 + </h3>
  478 + <p class="m-0 text-secondary">Lorem ipsum dolor sit amet, consetetur sadipscing
  479 + elitr, sed diam nonumy</p>
  480 + </figcaption>
  481 + </figure>
  482 + </div>
  483 + <div class="col-sm-6 col-md-4 gx-3 gx-md-4 gy-3 gy-md-0">
  484 + <figure class="d-flex flex-column h-100">
  485 + <span class="item_img">
  486 + <a href=""><img class=" img-fluid" src="img/news03.jpg" alt=""></a>
  487 + </span>
  488 + <figcaption class="bg-white p-3 flex-fill">
  489 + <time class="text-secondary">August 9, 2019</time>
  490 + <h3 class="fs-7 fs-sm-5 my-3 fw-bold">
  491 + <a href="#" class="text-body">Bike Tune-up Done Right: Tips from Cyclert
  492 + Experts</a>
  493 + </h3>
  494 + <p class="m-0 text-secondary">Lorem ipsum dolor sit amet, consetetur sadipscing
  495 + elitr, sed
  496 + diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed
  497 + diam voluptua. </p>
  498 + </figcaption>
  499 + </figure>
  500 + </div>
  501 + </div>
  502 + </div>
  503 + </div>
  504 + </section>
  505 + </main>
  506 +
  507 + <footer class="web_footer screen-xxl" id="globalso-footer">
  508 + <div class="layout">
  509 + <div class="row py-5 gx-0" data-aos="fade-up" data-aos-delay="500">
  510 + <nav class="foot_item col-sm-6 col-md-4 gx-0 gx-sm-4 pt-4">
  511 + <div class="foot_logo"><img src="img/logo.png" alt=""></div>
  512 + <div class="my-5 pe-4 text-white">Shelter has been a trusted name in insurance for more than 15
  513 + years. Today, we
  514 + proudly serve more than 16 million customers nationwide.Shelter has been a trusted name in
  515 + insurance for
  516 + more than 15 years. </div>
  517 + <ul class="sns_list d-flex gap-4 list-unstyled">
  518 + <li><a href=""><img src="img/sns01.png" alt=""></a></li>
  519 + <li><a href=""><img src="img/sns02.png" alt=""></a></li>
  520 + <li><a href=""><img src="img/sns03.png" alt=""></a></li>
  521 + <li><a href=""><img src="img/sns04.png" alt=""></a></li>
  522 + <li><a href=""><img src="img/sns05.png" alt=""></a></li>
  523 + </ul>
  524 + </nav>
  525 + <nav class="foot_item col-sm-6 col-md-4 gx-0 gx-sm-4 pt-4 px-sm-5 ps-lg-9">
  526 + <div class="mb-4">
  527 + <h2 class="fs-5 fw-bold text-white">Quick Links</h2>
  528 + </div>
  529 + <div class="foot_item_bd">
  530 + <ul class="list-unstyled">
  531 + <li class="my-3"><a href="" class="text-white">Home</a></li>
  532 + <li class="my-3"><a href="" class="text-white">Products</a></li>
  533 + <li class="my-3"><a href="" class="text-white">Services</a></li>
  534 + <li class="my-3"><a href="" class="text-white">News</a></li>
  535 + <li class="my-3"><a href="" class="text-white">About us</a></li>
  536 + <li class="my-3"><a href="" class="text-white">Contact us</a></li>
  537 + </ul>
  538 + </div>
  539 + </nav>
  540 + <nav class="foot_item col-sm-6 col-md-4 gx-0 gx-sm-4 pt-4">
  541 + <div class="mb-4">
  542 + <h2 class="fs-5 fw-bold text-white">Get in Touch</h2>
  543 + </div>
  544 + <div class="foot_item_bd">
  545 + <address>
  546 + <ul class="list-unstyled">
  547 + <li class="my-3 d-flex align-items-center">
  548 + <i class="la la-city la-inverse fs-4"></i>
  549 + <div class="flex-fill ms-2">
  550 + <span class="text-white">Chengdu,Sichuan province Shuxihuanjie #615</span>
  551 + </div>
  552 + </li>
  553 + <li class="my-3 d-flex align-items-center">
  554 + <i class="la la-phone la-inverse fs-4"></i>
  555 + <div class="flex-fill ms-2">
  556 + <a class="tel_link" href="tel:">
  557 + <span class="text-white">Phone:</span>
  558 + <span class="text-white">400-86-25660</span>
  559 + </a>
  560 + </div>
  561 + </li>
  562 + <li class="my-3 d-flex align-items-center">
  563 + <i class="la la-mail-bulk la-inverse fs-4"></i>
  564 + <div class="flex-fill ms-2">
  565 + <a href="mailto:">
  566 + <span class="text-white">Email:</span>
  567 + <span class="text-white">800025660@126.com</span>
  568 + </a>
  569 + </div>
  570 + </li>
  571 + </ul>
  572 + </address>
  573 + </div>
  574 + </nav>
  575 + </div>
  576 + </div>
  577 + </footer>
  578 +
  579 +</body>
  580 +<script>
  581 + AOS.init();
  582 + var mySwiper = new Swiper(\'.slider_banner .layout\', {
  583 + effect: \'fade\',
  584 + speed: 1000,
  585 + loop: true,
  586 + autoplay: {
  587 + delay: 3500,
  588 + disableOnInteraction: false,
  589 + },
  590 + pagination: {
  591 + el: \'.slider_banner .swiper-pagination\',
  592 + clickable: true,
  593 + },
  594 + navigation: {
  595 + nextEl: \'.slider_banner .swiper-button-next\',
  596 + prevEl: \'.slider_banner .swiper-button-prev\',
  597 + },
  598 + });
  599 +
  600 + var swiper = new Swiper(\'.company_show\', {
  601 + pagination: {
  602 + el: \'.company_show .swiper-pagination\',
  603 + },
  604 + })
  605 +</script>
  606 +
  607 +</html>';
  608 + }else{
  609 + $def = '<div class=" d-flex align-items-center justify-content-between py-md-4">
126 <div class="logo w-25 w-sm-auto"><a href="#"><img class="img-fluid" src="img/logo.png" alt=""></a></div> 610 <div class="logo w-25 w-sm-auto"><a href="#"><img class="img-fluid" src="img/logo.png" alt=""></a></div>
127 <nav class="navbar navbar-expand-md navbar-dark flex-fill justify-content-end mx-2 pe-md-5"> 611 <nav class="navbar navbar-expand-md navbar-dark flex-fill justify-content-end mx-2 pe-md-5">
128 <button class="navbar-toggler" type="button" data-bs-toggle="offcanvas" data-bs-target="#navMenu" 612 <button class="navbar-toggler" type="button" data-bs-toggle="offcanvas" data-bs-target="#navMenu"
@@ -204,6 +688,12 @@ class TemplateController extends BaseController @@ -204,6 +688,12 @@ class TemplateController extends BaseController
204 </div> 688 </div>
205 </div> 689 </div>
206 </div>'; 690 </div>';
  691 + }
  692 +
  693 +
  694 + $data = TemplateLogic::instance()->first($source,$source_id);
  695 +
  696 +
207 697
208 return $this->response('',Code::SUCCESS,$data?$data['html']:$def); 698 return $this->response('',Code::SUCCESS,$data?$data['html']:$def);
209 699