Как загрузить контроллер перед подключением к БД или даже когда MySQL выключен - PullRequest
0 голосов
/ 13 мая 2019

Интересно, может ли кто-нибудь помочь мне загрузить контроллер "технического обслуживания" до того, как фреймворк подключится к БД. это загрузит файл TPL. Например, когда приложение находится в стадии разработки, и я хочу отключить базу данных MySQL, но я хочу показать людям, которые получают мою веб-страницу (файл tpl, который загружается контроллером) страницу «мы в разработке» и все это путем загрузки файлов TPL и не требуется файл PHP.

1 Ответ

0 голосов
/ 15 мая 2019

Ядро OpenCart устанавливает соединение с БД до загрузки какого-либо контроллера. Поэтому, если вы планируете перейти в режим обслуживания, прежде чем что-либо отобразится для пользователя, соединение с БД уже установлено.

Практически невозможно отделить БД от ядра, так как она тесно связана.

Единственным решением было бы создать файл index.html как копию html вашего режима обслуживания, как ответил Пол Фекинс в комментариях.

Вот чистый HTML, который вы можете использовать. должен работать для всех.

в корневой директории создайте index.html и вставьте этот код:

<!DOCTYPE html>
<!--[if IE]><![endif]-->
<!--[if IE 8 ]><html dir="ltr" lang="en" class="ie8"><![endif]-->
<!--[if IE 9 ]><html dir="ltr" lang="en" class="ie9"><![endif]-->
<!--[if (gt IE 9)|!(IE)]><!-->
<html dir="ltr" lang="en">
<!--<![endif]-->
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Maintenance</title>
<script src="catalog/view/javascript/jquery/jquery-2.1.1.min.js" type="text/javascript"></script>
<link href="catalog/view/javascript/bootstrap/css/bootstrap.min.css" rel="stylesheet" media="screen" />
<script src="catalog/view/javascript/bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
<link href="catalog/view/javascript/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css" />
<link href="//fonts.googleapis.com/css?family=Open+Sans:400,400i,300,700" rel="stylesheet" type="text/css" />
<link href="catalog/view/theme/default/stylesheet/stylesheet.css" rel="stylesheet">
<script src="catalog/view/javascript/common.js" type="text/javascript"></script>
<link href="/image/catalog/cart.png" rel="icon" />
</head>
<body>
<nav id="top">
  <div class="container"><div class="pull-left">
  <form action="/index.html" method="post" enctype="multipart/form-data" id="form-currency">
    <div class="btn-group">
      <button class="btn btn-link dropdown-toggle" data-toggle="dropdown">                               <strong>$</strong>        <span class="hidden-xs hidden-sm hidden-md">Currency</span>&nbsp;<i class="fa fa-caret-down"></i></button>
      <ul class="dropdown-menu">
                        <li>
          <button class="currency-select btn btn-link btn-block" type="button" name="EUR">€ Euro</button>
        </li>
                                <li>
          <button class="currency-select btn btn-link btn-block" type="button" name="GBP">£ Pound Sterling</button>
        </li>
                                <li>
          <button class="currency-select btn btn-link btn-block" type="button" name="USD">$ US Dollar</button>
        </li>
                      </ul>
    </div>
    <input type="hidden" name="code" value="" />
    <input type="hidden" name="redirect" value="/index.html" />
  </form>
</div>


    <div id="top-links" class="nav pull-right">
      <ul class="list-inline">
        <li><a href="/index.html"><i class="fa fa-phone"></i></a> <span class="hidden-xs hidden-sm hidden-md">123456789</span></li>
        <li class="dropdown"><a href="/index.html" title="My Account" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-user"></i> <span class="hidden-xs hidden-sm hidden-md">My Account</span> <span class="caret"></span></a>
          <ul class="dropdown-menu dropdown-menu-right">
                        <li><a href="/index.html">Register</a></li>
            <li><a href="/index.html">Login</a></li>
                      </ul>
        </li>
        <li><a href="/index.html" id="wishlist-total" title="Wish List (0)"><i class="fa fa-heart"></i> <span class="hidden-xs hidden-sm hidden-md">Wish List (0)</span></a></li>
        <li><a href="/index.html" title="Shopping Cart"><i class="fa fa-shopping-cart"></i> <span class="hidden-xs hidden-sm hidden-md">Shopping Cart</span></a></li>
        <li><a href="/index.html" title="Checkout"><i class="fa fa-share"></i> <span class="hidden-xs hidden-sm hidden-md">Checkout</span></a></li>
      </ul>
    </div>
  </div>
</nav>
<header>
  <div class="container">
    <div class="row">
      <div class="col-sm-4">
        <div id="logo">          <h1><a href="/index.html">Your Store</a></h1>
          </div>
      </div>
      <div class="col-sm-5"><div id="search" class="input-group">
  <input type="text" name="search" value="" placeholder="Search" class="form-control input-lg" />
  <span class="input-group-btn">
    <button type="button" class="btn btn-default btn-lg"><i class="fa fa-search"></i></button>
  </span>
</div></div>
      <div class="col-sm-3"><div id="cart" class="btn-group btn-block">
  <button type="button" data-toggle="dropdown" data-loading-text="Loading..." class="btn btn-inverse btn-block btn-lg dropdown-toggle"><i class="fa fa-shopping-cart"></i> <span id="cart-total">0 item(s) - $0.00</span></button>
  <ul class="dropdown-menu pull-right">
        <li>
      <p class="text-center">Your shopping cart is empty!</p>
    </li>
      </ul>
</div>
</div>
    </div>
  </div>
</header>
<div class="container">
  <nav id="menu" class="navbar">
    <div class="navbar-header"><span id="category" class="visible-xs">Categories</span>
      <button type="button" class="btn btn-navbar navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse"><i class="fa fa-bars"></i></button>
    </div>
    <div class="collapse navbar-collapse navbar-ex1-collapse">
      <ul class="nav navbar-nav">
        <li class="dropdown"><a href="/index.html" class="dropdown-toggle" data-toggle="dropdown">Desktops</a>
        </li>
        <li class="dropdown"><a href="/index.html" class="dropdown-toggle" data-toggle="dropdown">Laptops &amp; Notebooks</a>
        </li>
        <li class="dropdown"><a href="/index.html" class="dropdown-toggle" data-toggle="dropdown">Components</a>
        </li>
        <li><a href="/index.html">Tablets</a></li>
        <li><a href="/index.html">Software</a></li>
        <li><a href="/index.html">Phones &amp; PDAs</a></li>
        <li><a href="/index.html">Cameras</a></li>
     </ul>
    </div>
  </nav>
</div>


<div id="common-maintenance" class="container">
  <div class="row">
    <div class="col-12"><h1 style="text-align:center;">We are currently performing some scheduled maintenance. <br/>We will be back as soon as possible. Please check back soon.</h1></div>
  </div>
</div>
<footer>
  <div class="container">
    <div class="row">
            <div class="col-sm-3">
        <h5>Information</h5>
        <ul class="list-unstyled">
                   <li><a href="/index.html">About Us</a></li>
                    <li><a href="/index.html">Delivery Information</a></li>
                    <li><a href="/index.html">Privacy Policy</a></li>
                    <li><a href="/index.html">Terms &amp; Conditions</a></li>
                  </ul>
      </div>
            <div class="col-sm-3">
        <h5>Customer Service</h5>
        <ul class="list-unstyled">
          <li><a href="/index.html">Contact Us</a></li>
          <li><a href="/index.html">Returns</a></li>
          <li><a href="/index.html">Site Map</a></li>
        </ul>
      </div>
      <div class="col-sm-3">
        <h5>Extras</h5>
        <ul class="list-unstyled">
          <li><a href="/index.html">Brands</a></li>
          <li><a href="/index.html">Gift Certificates</a></li>
          <li><a href="/index.html">Affiliate</a></li>
          <li><a href="/index.html">Specials</a></li>
        </ul>
      </div>
      <div class="col-sm-3">
        <h5>My Account</h5>
        <ul class="list-unstyled">
          <li><a href="/index.html">My Account</a></li>
          <li><a href="/index.html">Order History</a></li>
          <li><a href="/index.html">Wish List</a></li>
          <li><a href="/index.html">Newsletter</a></li>
        </ul>
      </div>
    </div>
    <hr>
    <p>Powered By <a href="http://www.opencart.com">OpenCart</a><br /> Your Store &copy; 2019</p>
  </div>
</footer>
<!--
OpenCart is open source software and you are free to remove the powered by OpenCart if you want, but its generally accepted practise to make a small donation.
Please donate via PayPal to donate@opencart.com
//-->
</body></html>
...