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

header "Мои закладки (**)" "Сравнение товаров"

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

1. Суть в том что бы добавить в хедер "Сравнение товаров" соответственно ссылку на эту страницу, и что бы в скобках стояло число сколько товаров мы добавили для сравнения (как в моих закладках"

8760a56a5ea3886db40c5e3c2734eb65-prev.jp

Скрытый текст

Так прописан "Мои закладки" - по дефолту:

<li><a href="<?php echo $wishlist; ?>" id="wishlist-total" title="<?php echo $text_wishlist; ?>"><i class="fa fa-heart"></i> <span class="hidden-xs hidden-sm hidden-md"><?php echo $text_wishlist; ?></span></a></li>

У меня получилось вот так для "Сравнение товаров":
<li><a href="https://мой сайт/compare-products/" title="Сравнение товаров"><i class="fa fa-exchange"></i> <span class="hidden-xs hidden-sm hidden-md">Сравнение товаров</span></a></li>
 Такой вопрос:

  • Вместо ссылки "https://мой сайт/compare-products/" может можно вставить типа: "<?php echo $wishlist; ?>" для сравнение товаров
  • На сколько я понимаю (количество в скобках) дает тег id="а вот что писать тут я не нашёл"... много чего пробовал подставлять не получается...
  • wishlist это "Мои закладки", а "Сравнение товаров" это что...?

 

2. Как реализовать что бы "Мои закладки" работали независимо от регистрации / личного кабинета?

 

3. Может кто знает как закрепить хедер? Что бы при просмотра сайта ниже - хедер был всегда сверху...

 

4. Задумка корзину (которая справа от поиска стоит) натащить в хедер - вместо "Корзина покупок" и "Оформление заказа". На сколько это будет просто сделать? Достаточно ли будет просто из боди её вырезать вставить в хедер вместо "корз.пок."и"офор.зак." и через css чучуть сделать её потоньше и бока поменьше... или там будет больше проблем?

Изменено пользователем Lifeamove
Дополнение

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


Ссылка на сообщение
Поделиться на другие сайты
19 минут назад, Lifeamove сказал:

Достаточно ли будет просто из боди её вырезать вставить в хедер

Это всё body. Не путайте header и head. И да, пока вы её перемещаете в пределах header.tpl достачтоно просто её переставить в вёрстке.

 

 

21 минуту назад, Lifeamove сказал:

Может кто знает как закрепить хедер? Что бы при просмотра сайта ниже - хедер был всегда сверху...

Самый простой вариант - это использовать

position: sticky;

В отличии от fixed, такое позиционирование не выбивает блок из общей структуры, а фиксируется он только при прокрутке.

 

29 минут назад, Lifeamove сказал:

Как реализовать что бы "Мои закладки" работали независимо от регистрации / личного кабинета?

Есть модули.

  • +1 2

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


Ссылка на сообщение
Поделиться на другие сайты
24 минуты назад, Dotrox сказал:

Самый простой вариант - это использовать


position: sticky;

 

Я бы не советовал использовать пока sticky, как минимум из-за https://developer.microsoft.com/en-us/microsoft-edge/platform/status/positionsticky/

  • +1 1

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


Ссылка на сообщение
Поделиться на другие сайты
37 минут назад, ibond сказал:

Я бы не советовал использовать пока sticky, как минимум из-за https://developer.microsoft.com/en-us/microsoft-edge/platform/status/positionsticky/

Если оглядываться на IE, то использовать вообще ничего нельзя. Мозилла, Хром, Сафари и Опера уже поддерживают sticky, в том числе и в мобильных версиях (за исключением Оперы). Ну, а у пользователей IE и слишком старых версий других браузеров просто не будет панель фиксироваться при прокрутке, это вполне можно пережить.

Мозилла, кстати, уже больше двух лет это свойство поддерживает, а Сафари ещё дольше.

  • +1 1

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


Ссылка на сообщение
Поделиться на другие сайты
4 минуты назад, Dotrox сказал:

за исключением Оперы

Вот, а я в Опере :)

  • +1 1

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


Ссылка на сообщение
Поделиться на другие сайты
20 часов назад, Dotrox сказал:

Достаточно ли будет просто из боди её вырезать вставить в хедер

Это всё body. Не путайте header и head. И да, пока вы её перемещаете в пределах header.tpl достачтоно просто её переставить в вёрстке.

 

Прошу прощения. Да вырезать корзину из header и вставить в top вместо "Корзина покупок" и "Оформление заказа", пытался это сделать вырезал <div class="col-sm-3"></div> целиком, и вставлял в nav id="top", потом поменял float с лефта на райт, width уменьшил с 25% до 28%...  далее буду делать высоту этого элемента и буду прижимать его левее к "Сравнению товаров", подскажите делаю всё правильно? (Двигаюсь в правильном направлении?)

82cc35a88676ae44055c26f730ad10a1-prev.jp

 

20 часов назад, Dotrox сказал:

Может кто знает как закрепить хедер? Что бы при просмотра сайта ниже - хедер был всегда сверху...

Самый простой вариант - это использовать


position: sticky;

В отличии от fixed, такое позиционирование не выбивает блок из общей структуры, а фиксируется он только при прокрутке.

В <nav id="top"> в стили stylesheet.css:81 в #top { добавляю position: sticky; - нечего не происходит, а если position: fixed - как Вы и сказали блок выбился из общей структуры и встал на задний план, и начал ездить с перекручиванием страницы... почему sticky не работает? или не туда его вставляю? Пробовал ещё вставлять в разные css, нечего не происходило... :(

 

20 часов назад, Dotrox сказал:

Как реализовать что бы "Мои закладки" работали независимо от регистрации / личного кабинета?

Есть модули.

Если есть возможность подскажите какой лучше использовать для ocStore 2.3.0.2.1

 

P.S. Dotrox спасибо, ibond Вам тоже спасибо за участие)

Скрытый текст

По поводу первого моего вопроса про сравнение товара - есть соображения?

 

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


Ссылка на сообщение
Поделиться на другие сайты
35 минут назад, Lifeamove сказал:

почему sticky не работает?

 

Я рассчитывал, что вы перед использованием немного погуглите, потому просто подсказал свойство, а не полное решение :)

Надо ещё указать top: 0. И, возможно, придётся ещё задать z-index (если при прокрутке окажется, что какой-то контент на странице наползает на панель).

 

40 минут назад, Lifeamove сказал:

Если есть возможность подскажите какой лучше использовать для ocStore 2.3.0.2.1

Если вы хотите, чтоб закладки были полноценными, то есть сохранялись после закрытия браузера и возвращении пользователя, например, через день (или месяц), как для зарегистрированных, то не подскажу, ибо я натыкался только на модули, которые просто позволяют пользоваться закладками без авторизации, но после сброса сессии они удаляются, что делает такие закладки малость бессмысленными.

  • +1 1

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


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

Dotrox, всё получилось супер! Только в некоторых статьях прошлось якорь двигать выше на 3-4 строчки

В 19.03.2017 в 21:49, Dotrox сказал:

Я рассчитывал, что вы перед использованием немного погуглите, потому просто подсказал свойство, а не полное решение :)

Надо ещё указать top: 0. И, возможно, придётся ещё задать z-index (если при прокрутке окажется, что какой-то контент на странице наползает на панель).

для z-index я указал значение 99 нормально же?)

 

Подскажите как быть с сравнение товаров? Что бы рядом с ними были скобки () в которых стояло бы число товаров которых мы добавили для сравнения...

 

В 18.03.2017 в 23:24, Lifeamove сказал:

1. Суть в том что бы добавить в хедер "Сравнение товаров" соответственно ссылку на эту страницу, и что бы в скобках стояло число сколько товаров мы добавили для сравнения (как в моих закладках"

8760a56a5ea3886db40c5e3c2734eb65-prev.jp

  Показать контент

Так прописан "Мои закладки" - по дефолту:

<li><a href="<?php echo $wishlist; ?>" id="wishlist-total" title="<?php echo $text_wishlist; ?>"><i class="fa fa-heart"></i> <span class="hidden-xs hidden-sm hidden-md"><?php echo $text_wishlist; ?></span></a></li>

У меня получилось вот так для "Сравнение товаров":
<li><a href="https://мой сайт/compare-products/" title="Сравнение товаров"><i class="fa fa-exchange"></i> <span class="hidden-xs hidden-sm hidden-md">Сравнение товаров</span></a></li>
 Такой вопрос:

  • Вместо ссылки "https://мой сайт/compare-products/" может можно вставить типа: "<?php echo $wishlist; ?>" для сравнение товаров
  • На сколько я понимаю (количество в скобках) дает тег id="а вот что писать тут я не нашёл"... много чего пробовал подставлять не получается...
  • wishlist это "Мои закладки", а "Сравнение товаров" это что...?

 

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


Ссылка на сообщение
Поделиться на другие сайты
33 минуты назад, Lifeamove сказал:

Подскажите как быть с сравнение товаров? Что бы рядом с ними были скобки () в которых стояло бы число товаров которых мы добавили для сравнения...

 

Можно в контроллере шапки сделать так:

$data['compare_count'] = count($this->session->data['compare']);

И дальше вывести полученную переменную в шаблоне. В ней будет число товаров в сравнении.

 

А ещё лучше подправить языковой файл с текстом этой кнопки и затем подставить туда в контроллере это число через sprintf. Посмотрите, как это у закладок сделано.

  • +1 1

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


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

Dotrox, спасибо буду разбираться.

А вот по поводу корзины... хочу спросить (просто работаю сейчас над ней и получается много параметров в разные места пихаю, хотелось бы как то более грамотно сделать...):

Скрытый текст

Значит я беру корзину целиком: <div class="col-sm-3">...</div> в переношу её вверх в <nav id="top"> и вставляю до или после <div id="top-links" class="nav pull-right"> элементов тел, лк, мои закладки. сравнение...

И начинаю работать со стилями с <div class="col-sm-3">...</div> то есть:

1. добавляю float: right (замещаю правее от элементов те,лк,закладки,сравнение)

2. задаю ширену, высоту (фона)

3. настраиваю отступы снизу слева справа

4. текст находящийся в корзине: "0 товар(ов) - 66 рублей" выравниваю - относительно фона

Получается всё.

Вопрос: как лучше делать эти стили? в элемент <div class="col-sm-3"> просто дописывать style:... или дописать <div class="col-sm-3" id="555"> и делать стили через файл stylesheet.css #555...

и так же дописать id="666" для внутреннего элемента (текста) и добавить в stylesheet.css #666....

 

 

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


Ссылка на сообщение
Поделиться на другие сайты
3 минуты назад, Lifeamove сказал:

Dotrox, спасибо буду разбираться.

А вот по поводу корзины... хочу спросить (просто работаю сейчас над ней и получается много параметров в разные места пихаю, хотелось бы как то более грамотно сделать...):

  Скрыть контент

Вопрос: как лучше делать эти стили? в элемент <div class="col-sm-3"> просто дописывать style:... или дописать <div class="col-sm-3" id="555"> и делать стили через файл stylesheet.css #555...

и так же дописать id="666" для внутреннего элемента (текста) и добавить в stylesheet.css #666....

<div class="col-sm-3 555">

и в stylesheet.css .555

 

  • +1 1

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


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

ibond, спасибо.

<div class="col-sm-3 555">

и в stylesheet.css .555

сделал как вы сказали... в stylesheet.css дописываю .555 float: right; нечего не происходит в коде на странице смотрю... стиль не находит то есть .555  не закрепляется к <div class="col-sm-3 555">

Бред какой то :*-( может после добавление класса в стулешит нужен какой нибудь кеш сбрасывать? или систему перезагружать?!

;)

Скрытый текст

А сам <div class="col-sm-3 555"> ставить во внутрь <div id="top-links" class="nav pull-right"> (элементов: тел, лк, закладки, сравнение...)

или ставить до / после этого дива <div id="top-links" class="nav pull-right">

Или разницы нет?

 

p.s. всё понял! цифры нельзя! буквы можно)

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

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


Ссылка на сообщение
Поделиться на другие сайты
2 часа назад, Lifeamove сказал:

p.s. всё понял! цифры нельзя! буквы можно)

Нельзя, чтоб начиналось с цифры.

 

А вообще, желательно давать классам (а особенно id) хоть сколько-то осмысленные названия.

Изменено пользователем Dotrox
  • +1 1

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


Ссылка на сообщение
Поделиться на другие сайты
В 22.03.2017 в 00:28, Dotrox сказал:

Можно в контроллере шапки сделать так:


$data['compare_count'] = count($this->session->data['compare']);

И дальше вывести полученную переменную в шаблоне. В ней будет число товаров в сравнении.

 

А ещё лучше подправить языковой файл с текстом этой кнопки и затем подставить туда в контроллере это число через sprintf. Посмотрите, как это у закладок сделано.

 

1. Где найти данные про мою страницу url имеет: /compare-products/ думаю лучше сразу переделать в /compare/ как url поменять? Чтобы легче было с ней работать...

 

2. В  /catalog/language/ru-ru/common/header.php есть строчка $_['text_wishlist']      = 'Мои закладки (%s)';

    Про compare-products там нечего нету, как я понимаю нужно дописать $_['text_compare']      = 'Сравнение товаров (%s)';

 

3. В  /catalog/view/theme/default/template/common/header.tpl есть строчка которая добавляет "Сравнение товаров" у меня она вот такая:

 

<li><a href="сайт/compare-products/" title="Сравнение товаров"><i class="fa fa-exchange"></i> <span class="hidden-xs hidden-sm hidden-md">Сравнение товаров</span></a></li>

 

Её нужно поменять на (при условии смены url на compare):

 

<li><a href="<?php echo $compare; ?>" id="compare-total" title="<?php echo $text_compare; ?>"><i class="fa fa-exchange"></i> <span class="hidden-xs hidden-sm hidden-md"><?php echo $text_compare; ?></span></a></li>

  • никак не могу понять что даёт id="compare-total"?

4. В контролере /catalog/controller/common/header.php нужно дописать:

Скрытый текст

У wishlist-а прописанно вот так:

 

// Wishlist
        if ($this->customer->isLogged()) {
            $this->load->model('account/wishlist');

            $data['text_wishlist'] = sprintf($this->language->get('text_wishlist'), $this->model_account_wishlist->getTotalWishlist());
        } else {
            $data['text_wishlist'] = sprintf($this->language->get('text_wishlist'), (isset($this->session->data['wishlist']) ? count($this->session->data['wishlist']) : 0));
        }

// compare
        if ($this->customer->isLogged()) {
            $this->load->model('compare');

            $data['text_compare'] = sprintf($this->language->get('text_compare'), $this->model_compare->getTotalCompare());
        } else {
            $data['text_compare'] = sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0));
        }

 

*Одним местом чую что-то тут лишнее... т.к. мы ведь обходим login>аккаунта, не очень понимаю работу контролера...

 

P.S. Я всё учёл для вывода количества товара для сравнения? Этих *4-ёх шагов хватит для нужного результата? (если в них конечно разобраться?)

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


Ссылка на сообщение
Поделиться на другие сайты
18 минут назад, Lifeamove сказал:

4. В контролере /catalog/controller/common/header.php нужно дописать:

  Скрыть контент

У wishlist-а прописанно вот так:

 

// Wishlist
        if ($this->customer->isLogged()) {
            $this->load->model('account/wishlist');

            $data['text_wishlist'] = sprintf($this->language->get('text_wishlist'), $this->model_account_wishlist->getTotalWishlist());
        } else {
            $data['text_wishlist'] = sprintf($this->language->get('text_wishlist'), (isset($this->session->data['wishlist']) ? count($this->session->data['wishlist']) : 0));
        }

// compare
        if ($this->customer->isLogged()) {
            $this->load->model('compare');

            $data['text_compare'] = sprintf($this->language->get('text_compare'), $this->model_compare->getTotalCompare());
        } else {
            $data['text_compare'] = sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0));
        }

 

*Одним местом чую что-то тут лишнее... т.к. мы ведь обходим login>аккаунта, не очень понимаю работу контролера...

 

P.S. Я всё учёл для вывода количества товара для сравнения? Этих *4-ёх шагов хватит для нужного результата? (если в них конечно разобраться?)

 

Рабочее решение для 2.1.0.1, на 2.3 не проверял.

 <file path="catalog/controller/account/wishlist.php">
        <operation>
            <search><![CDATA[if (!$this->customer->isLogged()) {]]></search>
            <add position="replace" offset="4"><![CDATA[]]></add>
        </operation>
       <operation>
            <search><![CDATA[if ($this->customer->isLogged()) {]]></search>
            <add position="replace" offset="21"><![CDATA[
                // if ($this->customer->isLogged()) {
                    // Edit customers cart
                    $this->load->model('account/wishlist');

                    $this->model_account_wishlist->addWishlist($this->request->post['product_id']);

                    $json['success'] = sprintf($this->language->get('text_success'), $this->url->link('product/product', 'product_id=' . (int)$this->request->post['product_id']), $product_info['name'], $this->url->link('account/wishlist'));

                    $json['total'] = sprintf($this->language->get('text_wishlist'), $this->model_account_wishlist->getTotalWishlist());
                /* } else {
                    if (!isset($this->session->data['wishlist'])) {
                        $this->session->data['wishlist'] = array();
                    }

                    $this->session->data['wishlist'][] = $this->request->post['product_id'];

                    $this->session->data['wishlist'] = array_unique($this->session->data['wishlist']);

                    $json['success'] = sprintf($this->language->get('text_login'), $this->url->link('account/login', '', 'SSL'), $this->url->link('account/register', '', 'SSL'), $this->url->link('product/product', 'product_id=' . (int)$this->request->post['product_id']), $product_info['name'], $this->url->link('account/wishlist'));

                    $json['total'] = sprintf($this->language->get('text_wishlist'), (isset($this->session->data['wishlist']) ? count($this->session->data['wishlist']) : 0));
                } */
            ]]></add>
        </operation>
    </file>

 

 

  • +1 1

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


Ссылка на сообщение
Поделиться на другие сайты
Скрытый текст
7 минут назад, ibond сказал:

 

Рабочее решение для 2.1.0.1, на 2.3 не проверял.



 <file path="catalog/controller/account/wishlist.php">
        <operation>
            <search><![CDATA[if (!$this->customer->isLogged()) {]]></search>
            <add position="replace" offset="4"><![CDATA[]]></add>
        </operation>
       <operation>
            <search><![CDATA[if ($this->customer->isLogged()) {]]></search>
            <add position="replace" offset="21"><![CDATA[
                // if ($this->customer->isLogged()) {
                    // Edit customers cart
                    $this->load->model('account/wishlist');

                    $this->model_account_wishlist->addWishlist($this->request->post['product_id']);

                    $json['success'] = sprintf($this->language->get('text_success'), $this->url->link('product/product', 'product_id=' . (int)$this->request->post['product_id']), $product_info['name'], $this->url->link('account/wishlist'));

                    $json['total'] = sprintf($this->language->get('text_wishlist'), $this->model_account_wishlist->getTotalWishlist());
                /* } else {
                    if (!isset($this->session->data['wishlist'])) {
                        $this->session->data['wishlist'] = array();
                    }

                    $this->session->data['wishlist'][] = $this->request->post['product_id'];

                    $this->session->data['wishlist'] = array_unique($this->session->data['wishlist']);

                    $json['success'] = sprintf($this->language->get('text_login'), $this->url->link('account/login', '', 'SSL'), $this->url->link('account/register', '', 'SSL'), $this->url->link('product/product', 'product_id=' . (int)$this->request->post['product_id']), $product_info['name'], $this->url->link('account/wishlist'));

                    $json['total'] = sprintf($this->language->get('text_wishlist'), (isset($this->session->data['wishlist']) ? count($this->session->data['wishlist']) : 0));
                } */
            ]]></add>
        </operation>
    </file>

 

 

 

На сколько я понял этот код для вставки в контроллер /catalog/controller/common/header.php  чтобы отключить привязку "Мои закладки" к аккаунту?

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

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


Ссылка на сообщение
Поделиться на другие сайты
25 минут назад, Lifeamove сказал:
  Показать контент

 

На сколько я понял этот код для вставки в контроллер /catalog/controller/common/header.php  чтобы отключить привязку "Мои закладки" к аккаунту?

нет, это кусок ocmod, если вставлять в контроллер, то ищем в g/controller/account/wishlist.php  if (!$this->customer->isLogged()) { и комментируем как в примере.

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


Ссылка на сообщение
Поделиться на другие сайты
25 минут назад, Lifeamove сказал:

 

1. Где найти данные про мою страницу url имеет: /compare-products/ думаю лучше сразу переделать в /compare/ как url поменять? Чтобы легче было с ней работать...

в таблице БД oc_url_alias или в ocStore админке ( Инструменты => OC Team => SEO Менеджер )

 

35 минут назад, Lifeamove сказал:

2. В  /catalog/language/ru-ru/common/header.php есть строчка $_['text_wishlist']      = 'Мои закладки (%s)';

    Про compare-products там нечего нету, как я понимаю нужно дописать $_['text_compare']      = 'Сравнение товаров (%s)';

Да.

 

58 минут назад, Lifeamove сказал:
  • никак не могу понять что даёт id="compare-total"?

Посмотрите в catalog/view/javascript/common.js

 

 

 

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


Ссылка на сообщение
Поделиться на другие сайты
35 минут назад, ibond сказал:
1 час назад, Lifeamove сказал:
  • никак не могу понять что даёт id="compare-total"?

Посмотрите в catalog/view/javascript/common.js

total отвечает за привязку к аккаунту - правильно понял?

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


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

Задача: сделать скобки ('количество добавленных товаров для сравнение') рядом с "Сравнение товаров" - как у Мои закладки ()

Надо учитывать то - что "Сравнение товаров" не связанно с аккаунтом.

 

Скрытый текст

1. Где найти данные про мою страницу url имеет: /compare-products/ думаю лучше сразу переделать в /compare/ как url поменять? Чтобы легче было с ней работать...(поменял url, спасибо ibond)

 

1. В  /catalog/language/ru-ru/common/header.php есть строчка $_['text_wishlist']      = 'Мои закладки (%s)';

    Про compare-products там нечего нету, как я понимаю нужно дописать $_['text_compare']      = 'Сравнение товаров (%s)';

 

2. В  /catalog/view/theme/default/template/common/header.tpl есть строчка которая добавляет "Сравнение товаров" у меня она вот такая:

 

<li><a href="https://storelect.ru/compare-products/" title="Сравнение товаров"><i class="fa fa-exchange"></i> <span class="hidden-xs hidden-sm hidden-md">Сравнение товаров</span></a></li>

 

Её нужно поменять на (при условии смены url на compare):

 

<li><a href="<?php echo $compare; ?>" id="compare-total" title="<?php echo $text_compare; ?>"><i class="fa fa-exchange"></i> <span class="hidden-xs hidden-sm hidden-md"><?php echo $text_compare; ?></span></a></li>

 

3. В контролере /catalog/controller/common/header.php нужно дописать (правильно?):

 

// compare
        if ($this->customer->isLogged()) {
            $this->load->model('compare');

            $data['text_compare'] = sprintf($this->language->get('text_compare'), $this->model_compare->getTotalCompare());
        } else {
            $data['text_compare'] = sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0));
        }

 

Этого должно быть достаточно чтобы выполнить задачу? У меня почему то не работает.

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


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

Блин, все пятница я про совсем другое написал! :-D

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


Ссылка на сообщение
Поделиться на другие сайты
43 минуты назад, Lifeamove сказал:

Задача: сделать скобки ('количество добавленных товаров для сравнение') рядом с "Сравнение товаров" - как у Мои закладки ()

Надо учитывать то - что "Сравнение товаров" не связанно с аккаунтом.

 

  Показать контент

1. Где найти данные про мою страницу url имеет: /compare-products/ думаю лучше сразу переделать в /compare/ как url поменять? Чтобы легче было с ней работать...(поменял url, спасибо ibond)

 

1. В  /catalog/language/ru-ru/common/header.php есть строчка $_['text_wishlist']      = 'Мои закладки (%s)';

    Про compare-products там нечего нету, как я понимаю нужно дописать $_['text_compare']      = 'Сравнение товаров (%s)';

 

2. В  /catalog/view/theme/default/template/common/header.tpl есть строчка которая добавляет "Сравнение товаров" у меня она вот такая:

 

<li><a href="https://storelect.ru/compare-products/" title="Сравнение товаров"><i class="fa fa-exchange"></i> <span class="hidden-xs hidden-sm hidden-md">Сравнение товаров</span></a></li>

 

Её нужно поменять на (при условии смены url на compare):

 

<li><a href="<?php echo $compare; ?>" id="compare-total" title="<?php echo $text_compare; ?>"><i class="fa fa-exchange"></i> <span class="hidden-xs hidden-sm hidden-md"><?php echo $text_compare; ?></span></a></li>

 

3. В контролере /catalog/controller/common/header.php нужно дописать (правильно?):

  Показать контент
 

// compare
        if ($this->customer->isLogged()) {
            $this->load->model('compare');

            $data['text_compare'] = sprintf($this->language->get('text_compare'), $this->model_compare->getTotalCompare());
        } else {
            $data['text_compare'] = sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0));
        }

 

Этого должно быть достаточно чтобы выполнить задачу? У меня почему то не работает.

В catalog/controller/common/header.php после

$data['text_home'] = $this->language->get('text_home');

добавить

$data['compare'] = $this->url->link('product/compare');
$this->load->language('product/compare');
$data['text_compare'] = sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0));

в catalog/view/theme/*/template/common/header.tpl после

<li><a href="<?php echo $wishlist; ?>" id="wishlist-total" title="<?php echo $text_wishlist; ?>"><i class="fa fa-heart"></i> <span class="hidden-xs hidden-sm hidden-md"><?php echo $text_wishlist; ?></span></a></li>

добавить

<a href="<?php echo $compare; ?>" id="compare-total"><?php echo $text_compare; ?></a>

 

Взято здесь и переделано, протестировано на версии 2.1.0.1

 

Ocmod прикреплен.

compare_header.ocmod.xml

  • +1 1

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


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

Прошу прощения, ocmod устанавливается через "Установщик дополнений OCMOD" и он прописывает все внутренние штучки что бы кол-во "Сравнения" работали так?

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


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

Прикол в том что - я сейчас просто установил compare_header.ocmod.xml и всё. Заработало, нечего не где не прописывал.

Версия ocStore 2.3.0.2.1

Только не моя ссылка заработала, а появилась (создалась) новая... Сравнение товаров... Шикарно - @ibond спасибо Вам большое, а то я мучил тут @dotrox -а, dotrox тоже помог - корзину переставили вверх)

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

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


Ссылка на сообщение
Поделиться на другие сайты
6 минут назад, Lifeamove сказал:

Прикол в том что - я сейчас просто установил compare_header.ocmod.xml и всё. Заработало, нечего не где не прописывал.

Для этого и существует ocmod :)

  • +1 1

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


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

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

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

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

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

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

Войти

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

Войти

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

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

×

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

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