Перейти к содержанию
JWDGA

Вывести отдельную корзину в мобильной версии

Рекомендуемые сообщения

Подскажите пожалуйста, как правильно вывести в common/header.tpl два раза: <?php echo $cart; ?>? Сейчас все отображается корректно, но есть проблема с добавлением товаров. Когда в мобильной версии добавляю товар, корзина не обновляется, не работает AJAX, добавленные товары показывает только после полной перезагрузки страницы. 

OC: Opencart 2.3.0.2
Тема: Default

 

Как сейчас выглядит common/header.tpl:

<body class="<?php echo $class; ?>">
  <!-- Start PC -->
  <nav id="top" class="hidden-xs">
    <div class="container">
      <div class="col-sm-6 col-md-2">
       <div class="city hidden-xs">
        <!-- <?php echo $currency; ?> -->
        Город: <span>Санкт-Петербург</span>
        <!-- <?php echo $language; ?> -->
      </div>
    </div>

    <div class="col-sm-8 col-md-7 hidden-sm">
      <div class="link hidden-xs">
        <ul>
          <li><a href="/index.php?route=information/information&information_id=7">Доставка и оплата</a></li>
          <!-- <li><a href="#">Гарантия и возрат</a></li>
            <li><a href="#">Контакты</a></li> -->
          </ul>
        </div>
      </div>

      <div class="col-sm-6 col-xs-12 col-md-3">
        <div id="top-links" class="nav pull-right">
          <ul class="list-inline">
            <li class="hidden-md hidden-sm hidden-lg"><a href="<?php echo $contact; ?>"><i class="fa fa-phone"></i></a> <span class="hidden-xs hidden-sm hidden-md"><?php echo $telephone; ?></span></li>
            <li class="dropdown"><a href="<?php echo $account; ?>" title="<?php echo $text_account; ?>" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-user"></i> <span class="hidden-xs hidden-sm hidden-md"><?php echo $text_account; ?></span> <span class="caret"></span></a>
              <ul class="dropdown-menu dropdown-menu-right">
                <?php if ($logged) { ?>
                <li><a href="<?php echo $account; ?>"><?php echo $text_account; ?></a></li>
                <li><a href="<?php echo $order; ?>"><?php echo $text_order; ?></a></li>
                <li><a href="<?php echo $transaction; ?>"><?php echo $text_transaction; ?></a></li>
                <li><a href="<?php echo $download; ?>"><?php echo $text_download; ?></a></li>
                <li><a href="<?php echo $logout; ?>"><?php echo $text_logout; ?></a></li>
                <?php } else { ?>
                <li><a href="<?php echo $register; ?>"><?php echo $text_register; ?></a></li>
                <li><a href="<?php echo $login; ?>"><?php echo $text_login; ?></a></li>
                <?php } ?>
              </ul>
            </li>
          </ul>
        </div>
      </div>

    </div>
  </nav>
  <header class="hidden-xs">
    <div class="sticky">
      <div class="container">
        <div class="row">
          <div class="col-sm-4 col-md-3">
            <div id="logo">
             <!--  <?php if ($logo) { ?> -->
             <!-- <img src="<?php echo $logo; ?>" title="<?php echo $name; ?>" alt="<?php echo $name; ?>" class="img-responsive" /> -->
             <a href="<?php echo $home; ?>" class="logo">
              <span>М</span>АГАЗИН <img src="/image/logo-shop.png" alt="" style="margin-top:-10px;">
              <p><span>Д</span>оставка еды в СПБ</p>
            </a>
            <?php } else { ?>
            <h3><a href="<?php echo $home; ?>"><?php echo $name; ?></a></h3>
            <?php } ?>
          </div>
        </div>
        <div class="col-sm-4 col-md-5 hidden-xs hidden-sm">
          <?php echo $search; ?>
        </div>
        <div class="col-sm-4 col-md-2 hidden-xs">
          <ul class="list-phone">
            <li><a href="mailto:info@shop.net>"></a> <span class="hidden-xs hidden-sm hidden-md">info@shop.net</span></li>
          </ul>
        </div>
        <div class="col-sm-4 col-md-2 hidden-xs">
          <?php echo $cart; ?>
        </div>
      </div>
    </div>
  </div>
</header>
<!-- End PC -->
<!-- Start Mobile -->
<nav id="top" class="hidden-sm hidden-md hidden-lg">
  <div class="container">
    <div class="row">
      <!-- Start Mobile Logotype -->
      <div class="col-xs-6 hidden-sm hidden-md hidden-lg">
        <div id="logo">
          <!--  <?php if ($logo) { ?> -->
          <!-- <img src="<?php echo $logo; ?>" title="<?php echo $name; ?>" alt="<?php echo $name; ?>" class="img-responsive" /> -->
          <a href="<?php echo $home; ?>" class="logo">
            <span>М</span>АГАЗИН <img src="/image/logo-shop.png" alt="" style="margin-top:-10px;">
            <p><span>Д</span>оставка еды в СПБ</p>
          </a>
          <?php } else { ?>
          <h3><a href="<?php echo $home; ?>"><?php echo $name; ?></a></h3>
          <?php } ?>
        </div>
      </div>
      <!-- End Mobile Logotype -->

      <!-- Start Mobile Account -->
      <div class="col-xs-6 hidden-sm hidden-md hidden-lg">
        <div id="top-links" class="nav pull-right">
          <ul class="list-inline">
            <li class="dropdown"><a href="<?php echo $account; ?>" title="<?php echo $text_account; ?>" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-user"></i> <span class="hidden-xs hidden-sm hidden-md"><?php echo $text_account; ?></span> <span class="caret"></span></a>
              <ul class="dropdown-menu dropdown-menu-right">
                <?php if ($logged) { ?>
                <li><a href="<?php echo $account; ?>"><?php echo $text_account; ?></a></li>
                <li><a href="<?php echo $order; ?>"><?php echo $text_order; ?></a></li>
                <li><a href="<?php echo $transaction; ?>"><?php echo $text_transaction; ?></a></li>
                <li><a href="<?php echo $download; ?>"><?php echo $text_download; ?></a></li>
                <li><a href="<?php echo $logout; ?>"><?php echo $text_logout; ?></a></li>
                <?php } else { ?>
                <li><a href="<?php echo $register; ?>"><?php echo $text_register; ?></a></li>
                <li><a href="<?php echo $login; ?>"><?php echo $text_login; ?></a></li>
                <?php } ?>
              </ul>
            </li>
          </ul>
        </div>
      </div>
      <!-- End Mobile Account -->
    </div>
  </div>
</nav>

<div class="sticky-mobile">
  <div class="container">
    <div class="row">
      <div class="sticky hidden-sm hidden-md hidden-lg">
        <div class="col-xs-12">
          <?php echo $cart; ?>
        </div>

        <div class="col-xs-12">
          <?php if ($categories) { ?>
          <nav id="menu" class="navbar hidden-md hidden-sm hidden-lg">
            <div class="navbar-header"><span id="category" class="visible-xs"><?php echo $text_category; ?></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">
                <?php foreach ($categories as $category) { ?>
                <?php if ($category['children']) { ?>
                <li class="dropdown"><a href="<?php echo $category['href']; ?>" class="dropdown-toggle" data-toggle="dropdown"><?php echo $category['name']; ?></a>
                  <div class="dropdown-menu">
                    <div class="dropdown-inner">
                      <?php foreach (array_chunk($category['children'], ceil(count($category['children']) / $category['column'])) as $children) { ?>
                      <ul class="list-unstyled">
                        <?php foreach ($children as $child) { ?>
                        <li><a href="<?php echo $child['href']; ?>"><?php echo $child['name']; ?></a></li>
                        <?php } ?>
                      </ul>
                      <?php } ?>
                    </div>
                    <a href="<?php echo $category['href']; ?>" class="see-all"><?php echo $text_all; ?> <?php echo $category['name']; ?></a> </div>
                  </li>
                  <?php } else { ?>
                  <li><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a></li>
                  <?php } ?>
                  <?php } ?>
                </ul>
              </div>
            </nav>
            <?php } ?>
          </div>
        </div>
      </div>
    </div>
  </div>
  <!-- End Mobile -->

 

Изменено пользователем JWDGA

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для начала ссылку на сайт :) 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ничего не работает, потому что добавление/удаление/обновление корзины завязано на ID корзины (cart по умолчанию). А так вы корзину вставляете 2 раза, то ID дублируется и работает только 1. Выход простой, сменить ID на класс в шаблоне корзины и во всех местах где есть обращение к корзине как ( $('#cart') заменить на $('.cart') )

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Решил проблему с помощью данного поста:

 

В 13.03.2017 в 14:15, rim89 сказал:

Если кому нужен Mobile Detect на версии 2.3 для создания отдельной мобильной темы:

  1. Скачивает актуальную версию с офф сайта. mobiledetect.net
  2. Копируем из архива файл Mobile_Detect.php  в папку /system/library
  3. В файле system/startup.php прописываем в конце 
    
    // add mobile detect
    require_once(DIR_SYSTEM . 'library/Mobile_Detect.php');
    $detect = new Mobile_Detect();
    define('isMobile', $detect->isMobile(), false);
    define('isTablet', $detect->isTablet(), false);
    define('isiOS', $detect->isiOS(), false);
    define('isAndroidOS', $detect->isAndroidOS(), false);

     

  4. В файле catalog/controller/event/theme.php перед 

    
    if (is_file(DIR_TEMPLATE . $theme . '/template/' . $view . '.tpl')) {

    добавляем 

    
    if(isMobile){$theme = 'название вашей тему для мобильного';};

     

  5. Создаём копию вашей темы с названием, которое указали в п.4 в переменной $theme в папке catalog/view/theme. Должно работать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.