Поменять Opencart 2.2.0.0.внутренние ссылки меню от http до https - PullRequest
0 голосов
/ 27 марта 2019

Интернет-магазин основан на ОС 2.2.0.0.На сайте ssl установлен и правильно внедрен на всех уровнях.

Проблема в том, что ссылки на категории в выпадающих меню в заголовке остаются http: //, которые успешно перенаправляют с 301 на https: // версия по клику.

Это не лучший путь с точки зрения SEO, поэтому моя цель - просто изменить ссылки на https: // и получить код ответа 200 для всех внутренних ссылок.

Код, который выбирает ссылки и устанавливает их в раскрывающемся меню:

        <nav id="menu" class="navbar"> <!-- add class name as 'mega-menu' 
        LIKE class="mega-menu" -->
        <div class="navbar-header collapsed" data-toggle="collapse" data- 
        target=".navbar-ex1-collapse"><span id="category" class="visible-xs"><?php echo $text_category; ?></span>
    </div>
    <div class="collapse navbar-collapse navbar-ex1-collapse">
      <ul class="nav navbar-nav">
<?php //print_r($categories); ?>
        <?php foreach ($categories as $category) { ?>
        <?php if ($category['children']) { ?>
            <li class="dropdown"><a href="<?php echo $category['href']; ?>"><?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 childs_1 <?php if($category['column']<=1) echo 'single-dropdown-menu'; else echo 'mega-dropdown-menu'; ?>">

                <?php foreach ($children as $child) { ?>
                    <!-- 2 Level Sub Categories START -->
                    <?php if ($child['childs']) { ?>
                      <li class="dropdown"><a href="<?php echo $child['href']; ?>"><?php echo $child['name']; ?></a>

                          <div class="dropdown-menu">
                          <div class="dropdown-inner">
                          <?php foreach (array_chunk($child['childs'], ceil(count($child['childs']) / $child['column'])) as $childs_col) { ?>
                            <ul class="list-unstyled childs_2">
                              <?php foreach ($childs_col as $childs_2) { ?>
                                <li><a href="<?php echo $childs_2['href']; ?>"><?php echo $childs_2['name']; ?></a></li>
                              <?php } ?>
                            </ul>
                          <?php } ?>
                          </div>
                          </div>

                      </li>
                    <?php } else { ?>
                      <li><a href="<?php echo $child['href']; ?>"><?php echo $child['name']; ?></a></li>
                    <?php } ?>
                    <!-- 2 Level Sub Categories END -->

Есть ли способ переписать все внутренние ссылки, чтобы начать с https: // вместо http://

В административной области OC такой опции нет.

Насколько я вижу, магазин использует собственную тему.

Я могу предоставить любой код при необходимости.

Заранее спасибо!

1 Ответ

0 голосов
/ 27 марта 2019

Правильно закодированная тема должна выбрать это из конфигурационных файлов, которых в OpenCart 2:

{web root}/config.php
{web root}/admin/config.php

Заменить все экземпляры http на https, очистить все кеши и попробуйте снова.

Если это не сработает, это означает, что ваша тема плохо закодирована, но не все потеряно, вы можете заменить "http://" во всех файлах в папке темы на любую хорошую IDE (Notepad ++ для одного будет делать это, я использую IDE под названием Kate, которая отлично справляется и делает это).

Ваша папка темы будет по адресу:

{web root}/catalog/view/theme/{your theme name}

Вы можете заменить "http://"с помощью «https://"» или, если вы захотите в будущем переключиться обратно на http, вы можете заменить «http://" на просто« // », который говорит браузеру использовать тот же протокол, что и текущая страница, и поэтому более гибоки динамический.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...