Jump to content
WIXVW

Выделение отличающихся характеристик в сравнении товаров

Recommended Posts

Привет. Подскажите, как можно в таблице сравнения товаров выделить строки или сами характеристики, которые отличаются? 

Share this post


Link to post
Share on other sites
1 минуту назад, WIXVW сказал:

Привет. Подскажите, как можно в таблице сравнения товаров выделить строки или сами характеристики, которые отличаются? 

черным или красным.

а если серьезно- писать сравнение

Share this post


Link to post
Share on other sites
5 минут назад, Dimasscus сказал:

черным или красным.

а если серьезно- писать сравнение

 

сразу в twig'e это можно сделать?

Share this post


Link to post
Share on other sites
Только что, WIXVW сказал:

 

сразу в twig'e это можно сделать?

нет

Share this post


Link to post
Share on other sites

Попробуйте вот этот скрипт:

<script>
function compareDiff() {
data_collection = $('#product-compare tbody:not(:first):not(:last) tr');
$(data_collection).each(function() {
	line = $(this).find('td:not(:first)');
	$(line).each(function() {
		val = $(this).text();
		$('td:contains(' + val + ')').filter(function() { return $(this).text() == val && $(this).text() != ''; }).toggleClass("highlighted");
	})
})}
</script>

 

Share this post


Link to post
Share on other sites
13 часов назад, Waskadagama сказал:

Попробуйте вот этот скрипт:

<script>
function compareDiff() {
data_collection = $('#product-compare tbody:not(:first):not(:last) tr');
$(data_collection).each(function() {
	line = $(this).find('td:not(:first)');
	$(line).each(function() {
		val = $(this).text();
		$('td:contains(' + val + ')').filter(function() { return $(this).text() == val && $(this).text() != ''; }).toggleClass("highlighted");
	})
})}
</script>

 

 

Не хочет :( 
Вроде ж все правильно, прошелся глазами по каждому шагу, проверил id, но класс не переключается

Share this post


Link to post
Share on other sites
14 часов назад, Waskadagama сказал:

Попробуйте вот этот скрипт:

<script>
function compareDiff() {
data_collection = $('#product-compare tbody:not(:first):not(:last) tr');
$(data_collection).each(function() {
	line = $(this).find('td:not(:first)');
	$(line).each(function() {
		val = $(this).text();
		$('td:contains(' + val + ')').filter(function() { return $(this).text() == val && $(this).text() != ''; }).toggleClass("highlighted");
	})
})}
</script>

 

 

Закинул все на codepen.io - тоже не работает:
https://codepen.io/WIXVW/pen/abmQJMq

Share this post


Link to post
Share on other sites

Вот так работает:

function compareDiff() {
data_collection = $('#product-compare tbody:not(:first):not(:last) tr');
$(data_collection).each(function() {
	line = $(this).find('td:not(:first)');
	$(line).each(function() {
		val = $(this).text();
    $('td:contains(' + val + ')').filter(function() { return $(this).text() == val && $(this).text() != ''; }).toggleClass("highlighted");
	})
})}
compareDiff();

P.S. Этот скрипт работает на стандартной теме OpenCart, под вашу, возможно, нужно сделать адаптацию.

Edited by Waskadagama

Share this post


Link to post
Share on other sites
1 час назад, Waskadagama сказал:

Вот так работает:

function compareDiff() {
data_collection = $('#product-compare tbody:not(:first):not(:last) tr');
$(data_collection).each(function() {
	line = $(this).find('td:not(:first)');
	$(line).each(function() {
		val = $(this).text();
    $('td:contains(' + val + ')').filter(function() { return $(this).text() == val && $(this).text() != ''; }).toggleClass("highlighted");
	})
})}
compareDiff();

P.S. Этот скрипт работает на стандартной теме OpenCart, под вашу, возможно, нужно сделать адаптацию.

 

я сделал так:

function compareCellValues() {

  var rows = $("#product-compare").find("tbody:not(:first):not(:last) tr"); 

  rows.each(function() { 

    var thisRow = $(this), 
        tds = thisRow.find('td:not(:first)'),
        i,
        j,
        tdsl = tds.length;
    for(i = 0; i < tdsl; i++){
      for(j = i + 1; j < tdsl; j++) {
         var thisTd = tds[i],
             thatTd = tds[j],
             thisTdText = $(thisTd).text(),
             thatTdText = $(thatTd).text();
            if (thisTdText !== thatTdText) {
      thisRow.addClass('highlighted');
    }
      }
    }
  });

}

window.onload = compareCellValues();

работает как я и хотел

Share this post


Link to post
Share on other sites
3 часа назад, Waskadagama сказал:

Вот так работает:

function compareDiff() {
data_collection = $('#product-compare tbody:not(:first):not(:last) tr');
$(data_collection).each(function() {
	line = $(this).find('td:not(:first)');
	$(line).each(function() {
		val = $(this).text();
    $('td:contains(' + val + ')').filter(function() { return $(this).text() == val && $(this).text() != ''; }).toggleClass("highlighted");
	})
})}
compareDiff();

P.S. Этот скрипт работает на стандартной теме OpenCart, под вашу, возможно, нужно сделать адаптацию.

 

Кстати, с этим скриптом получается прикольно, что выделяется не строка, а только тот td, в котором отличается текст,

но плохо, что, если текст везде одинаковый, то выделяются все ячейки

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Similar Content

    • By comtronics
      590.00 руб
      Скачать/Купить дополнение


      Attribut&co! Opencart. Атрибуты - это легко!
      Модуль для работы с атрибутами товаров. Атрибуты категорий. Шаблоны. И многое другое...
       
      Принцип работы модуля
      Из атрибутов, групп, категорий формируются соответствующие деревья, похожие на деревья папок и файлов системы Windows. Деревья позволяют структурировать подсистемы групп, атрибутов, категорий, атрибутов категорий. Т.е. показать наглядно расположение элементов и их иерархию. Вместо того, чтобы открывать для редактирования несколько форм, соответствующих этим подсистемам, теперь есть возможность управления ими в одном месте. Причем это делается быстрее и удобнее. Например, изменить группу или добавить атрибуты в категорию можно простым перетаскиванием мышкой.
      Возможности
      Создание новых групп и атрибутов в одном и том же дереве; Drag-and-drop и copy-paste технологии: Копирование атрибутов одной группы в другую; Перенос атрибутов из группы в группу (смена группы); Drag-and-drop сортировка групп и атрибутов внутри группы; Drag-and-drop добавление атрибутов в категорию; Перенос атрибутов из одной категории в другую (смена категории); Слияние атрибутов (объединение) без потери значений и связей; Фильтрация и поиск групп, атрибутов и значений атрибутов в дереве; Редактирование групп, атрибутов, шаблонов и значений; Подстановка "Дежурного шаблона" (шаблона по умолчанию) в момент добавления атрибута в товар; Пакетная подстановка "Дежурного шаблона" в товары, в момент добавления атрибута в категорию; Настройка алгоритма добавления значений и шаблонов в товар; Оперативный просмотр товаров отфильтрованных по атрибуту или значению; Набор инструментов для упорядочивания атрибутов: Поиск и удаление пустых значений атрибутов; Удаление ссылок на несуществующие атрибуты; Дефрагментация атрибутов. Подготовка группы парсинга; Удаление атрибутов не связанных ни с одним товаром; Объединение дублей атрибутов без потери связей; Автоматическое формирование атрибутов категорий; Мультиязычность, возможность параллельной работы с несколькими языками; Возможность клонирования атрибутов, групп или значений одного языка в другой;  
      Документация и примеры: http://servenus.com/index.php?lang=ru&page=/doc/ru/attributico
      Поддерживаемые языки:
      english русский модуль мультиязычный, языки добавляются с помощью языковых файлов admin/language/..../attributico.php Совместимость:
      · OpenCart v.2.x, v3.x (а также сборки на базеOpenCart соответствующих версий)·
      Лицензия:
      лицензия действует только на один домен и тестовый домен после покупки модуля, пришлите запрос в личку с указанием доменов - вышлю файлы. Бесплатная версия:  
      Требования:
      Ioncube Loader версии 5.0 и выше; PHP версии >5.4  Демо
      http://demo.radiocity.kz/admin
      demo
      demo
      Добавил comtronics Добавлено 13.06.2016 Категория Атрибуты Системные требования Ioncube Loader версии 5.0 и выше;PHP версии >5.4 Метод активации По запросу в ЛС Ioncube Loader Требуется OpenCart 3.0
      2.3
      2.2
      2.1
      2.0
      1.5.6.4
      1.5.6.3
      1.5.6.2
      1.5.6.1
      1.5.6
      1.5.5.1 ocStore 3.0
      2.3
      2.2
      2.1
      1.5.5.1.2
      1.5.5.1.1
      1.5.5.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х
      OcShop 1.5.6.4.х Обращение к серверу разработчика Нет Старая цена 0  
    • By Sunser
      Content manager – модуль учета контента.

      Расширение подходит и тестировалось на версиях Opencart 2.0, 2.1, 2.2, 2.3 и 3.0
      Расширение подходит и тестировалось на версиях ocStore 2.1, 2.3 и 3.0
      Данные версии CMS брались с официальных сайтов OpenCart и ocStore.
       
      -- Установка расширения:
      1) Зайдите в свой установщик модификаторов, в админ панели, выберите модуль нужной версии, после чего установите;
      2) После установки зайдите в модификаторы и обновите свои модификаторы;
      3) Потом перейдите в Система > Группа пользователей, там выберите свой профиль, обычно это Администратор или какой вам надо где нужен что бы модуль отображался. И в выбранном вами профиле дайте права на просмотр и изменение модуля, он там будет в списке. Или же просто нажмете выбрать все, после чего сохраните настройки. 
      Если этого не сделать, модуль не появится в меню и вы не сможете его редактировать.
      После чего модуль появится в разделе > Учеты > «Учета контента».
      Модуль не заменяет никаких файлов.
       
      -- Что может модуль:
      1) Модуль ведет учет контента. То есть следит за изменением раздела:
      •    Категории
      •    Товары
      •    Производители
      •    Отзывы
      •    Статьи
      •    Опции
      •    Атрибуты
      •    Группа атрибутов
      •    Загрузки
      2) Модуль записывает и отображает изменения когда вы редактируете, добавляете или удаляете контент в пунктах, перечисленных высше;
      3) В модуле можно включать и выключать запись учета. Когда хотите модуль пишет изменения, когда нет, он не отслеживает изменения
      3) В модуле отображается что менялось, категории, товар, т.д, название и ID;
      4) Модуль следит кто вносит изменения и его ID;
      5) Модуль показывает что именно делали, изменяли, удаляли или редактировали и так же дату и время когда это делалось;
      6) В модуле есть удобный фильтр, модуль может фильтровать по:
      •    По названию
      •    По имени и Фамилии
      •    По ID учета
      •    По ID того что вы редактировали
      •    По дате
      •    По Действию
      •    По типу редактирования, это разделы что вы редактировали
      7) В модуле есть сортировка по полям таблицы;
      8) В модуле есть экспорт в эксель, то есть вы можете экспортировать как весь список, так и отфильтрованный вами список;
      9) В модуле можно удалять записи на выбор;
      10) В модуле можно одним нажатии очищать все записи сразу. То есть он полностью очищает всю таблицу content_manager.
       
      Что не может модуль:
      БУДЬТЕ ВНИМАТЕЛЬНЫ К ЭТОМУ ПУНКТУ-------------------
      Модуль не работает, если вы используете другие менеджеры для редактирования своего контента. То есть если вы используете Bash editor или другие похожие. То модуль отслеживать действие не будет, так как модуль работает через стандартное редактирование.
       
      Зачем нужен этот модуль и как он работает?
      Иногда бывает что на сайте у вас много менеджеров или контентщиков которые правят ваш сайт. И вам надо отследить что они делает или даже вести по них учет для оплаты или других целей, то данный модуль вам поможет в этом и упростит в разы вам жизнь.
      Так же иногда может случится, если на сайте будет какая та ошибка в редактированном контенте и вам нужно найти причину или кто это сделал, то данный модуль поможет в поиске. 
      Или же просто следите за изменением вашего контента.
      Модуль не нуждается в настройках, просто установите модуль, обновите модификаторы и можете пользоваться.
      Не забывайте, что бы модуль начал записывать, нужно включить запись на странице «Учета контента», там сверху, справа сверху будет первая кнопка слева «Запустить запись»
       
      Проблемы и исправление модуля:
      1)    Вы установили модуль, обновили модификаторы, но он нигде не появился, в таком случае вам нужно в разделе «группа пользователей» дать разрешение на просмотр или изменение модуля;
      2)    При скачивании exel, выдает ошибку. В таком случае может быть ошибка с правами или лучше написать автору модуля, после чего ошибку быстро исправит.
      3)    При ошибке или баге пишите автору модуля, после чего в ближайшие время ошибку или баг будет поправлено.
      4)    Вы установили модуль, запустили запись, но ничего не записывает, скорее всего вы что-то меняли в структуре файлов или кода и модуль не находит указанного пути через ваши изменения, в данном случае это быстро исправляется путем указания правильных путей в модификаторе, но это работа с кодом. Если вы не можете это сделать, обратитесь к разработчику модуля или к своему админку или программисту, который ведет ваш сайт.
       
      Если вы заметите какие-то неполадки или у вас будет предложение по улучшению самого модуля или вам нужно доработать модуль для личных целей, пишите в личное сообщение данного сервиса, после чего я вам обязательно отвечу.
    • By Sunser
      450.00 руб
      Скачать/Купить дополнение


      Content manager – модуль учета контента.
      Content manager – модуль учета контента.

      Расширение подходит и тестировалось на версиях Opencart 2.0, 2.1, 2.2, 2.3 и 3.0
      Расширение подходит и тестировалось на версиях ocStore 2.1, 2.3 и 3.0
      Данные версии CMS брались с официальных сайтов OpenCart и ocStore.
       
      -- Установка расширения:
      1) Зайдите в свой установщик модификаторов, в админ панели, выберите модуль нужной версии, после чего установите;
      2) После установки зайдите в модификаторы и обновите свои модификаторы;
      3) Потом перейдите в Система > Группа пользователей, там выберите свой профиль, обычно это Администратор или какой вам надо где нужен что бы модуль отображался. И в выбранном вами профиле дайте права на просмотр и изменение модуля, он там будет в списке. Или же просто нажмете выбрать все, после чего сохраните настройки. 
      Если этого не сделать, модуль не появится в меню и вы не сможете его редактировать.
      После чего модуль появится в разделе > Учеты > «Учета контента».
      Модуль не заменяет никаких файлов.
       
      -- Что может модуль:
      1) Модуль ведет учет контента. То есть следит за изменением раздела:
      •    Категории
      •    Товары
      •    Производители
      •    Отзывы
      •    Статьи
      •    Опции
      •    Атрибуты
      •    Группа атрибутов
      •    Загрузки
      2) Модуль записывает и отображает изменения когда вы редактируете, добавляете или удаляете контент в пунктах, перечисленных высше;
      3) В модуле можно включать и выключать запись учета. Когда хотите модуль пишет изменения, когда нет, он не отслеживает изменения
      3) В модуле отображается что менялось, категории, товар, т.д, название и ID;
      4) Модуль следит кто вносит изменения и его ID;
      5) Модуль показывает что именно делали, изменяли, удаляли или редактировали и так же дату и время когда это делалось;
      6) В модуле есть удобный фильтр, модуль может фильтровать по:
      •    По названию
      •    По имени и Фамилии
      •    По ID учета
      •    По ID того что вы редактировали
      •    По дате
      •    По Действию
      •    По типу редактирования, это разделы что вы редактировали
      7) В модуле есть сортировка по полям таблицы;
      8) В модуле есть экспорт в эксель, то есть вы можете экспортировать как весь список, так и отфильтрованный вами список;
      9) В модуле можно удалять записи на выбор;
      10) В модуле можно одним нажатии очищать все записи сразу. То есть он полностью очищает всю таблицу content_manager.
       
      Что не может модуль:
      БУДЬТЕ ВНИМАТЕЛЬНЫ К ЭТОМУ ПУНКТУ-------------------
      Модуль не работает, если вы используете другие менеджеры для редактирования своего контента. То есть если вы используете Bash editor или другие похожие. То модуль отслеживать действие не будет, так как модуль работает через стандартное редактирование.
       
      Зачем нужен этот модуль и как он работает?
      Иногда бывает что на сайте у вас много менеджеров или контентщиков которые правят ваш сайт. И вам надо отследить что они делает или даже вести по них учет для оплаты или других целей, то данный модуль вам поможет в этом и упростит в разы вам жизнь.
      Так же иногда может случится, если на сайте будет какая та ошибка в редактированном контенте и вам нужно найти причину или кто это сделал, то данный модуль поможет в поиске. 
      Или же просто следите за изменением вашего контента.
      Модуль не нуждается в настройках, просто установите модуль, обновите модификаторы и можете пользоваться.
      Не забывайте, что бы модуль начал записывать, нужно включить запись на странице «Учета контента», там сверху, справа сверху будет первая кнопка слева «Запустить запись»
       
      Проблемы и исправление модуля:
      1)    Вы установили модуль, обновили модификаторы, но он нигде не появился, в таком случае вам нужно в разделе «группа пользователей» дать разрешение на просмотр или изменение модуля;
      2)    При скачивании exel, выдает ошибку. В таком случае может быть ошибка с правами или лучше написать автору модуля, после чего ошибку быстро исправит.
      3)    При ошибке или баге пишите автору модуля, после чего в ближайшие время ошибку или баг будет поправлено.
      4)    Вы установили модуль, запустили запись, но ничего не записывает, скорее всего вы что-то меняли в структуре файлов или кода и модуль не находит указанного пути через ваши изменения, в данном случае это быстро исправляется путем указания правильных путей в модификаторе, но это работа с кодом. Если вы не можете это сделать, обратитесь к разработчику модуля или к своему админку или программисту, который ведет ваш сайт.
       
      Если вы заметите какие-то неполадки или у вас будет предложение по улучшению самого модуля или вам нужно доработать модуль для личных целей, пишите в личное сообщение данного сервиса, после чего я вам обязательно отвечу.
      Добавил Sunser Добавлено 22.04.2020 Категория Отчеты Системные требования Метод активации Без активации Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0 ocStore 3.0
      2.3
      2.1 OpenCart.Pro, ocShop Обращение к серверу разработчика Нет Старая цена 0  
    • By drulbest
      Здравствуйте Уважаемые завсегдатаи форума.
      Есть идея сделать (улучшить) перелинковку на сайте путем добавления ссылок на важные атрибуты. Имеется ввиду нужно чтобы на странице товара, на вкладке "характеристики" были не только перечень атрибутов и их значений, а и ссылка. Ссылка на группу товаров объединенных этим атрибутом.
      У меня на сайте установлен SEO фильтр, который генерирует индивидуальные URL для атрибутов и их значений. Нужен модуль который сможет выборочно отображать значения атрибутов ссылками на ту страницу которую генерирует фильтр.
      Поиск модулей не дал желаемых результатов.
      Был куплен модуль: "Поиск товаров по атрибутам с карточки товара" - Он дает ссылку на атрибут, но на поиск по сайту по атрибуту.
      Также были рассмотрены варианты модулей с визуальным редактором, т.е. те где можно ссылку подставлять вручную, но это довольно сложно для тех кто будет заниматься наполнением сайта контентом.
       
      Подскажите пожалуйста есть ли готовое решение? Если есть идеи по разработке модуля, то я готов оплатить индивидуально.


    • By Iliych97
      Добрый день, форумчане.
      Возникла проблема. В прайсе, в разные места, поставщик добавил новый товар. Каких-либо изменений с исходным кодом других товаров не наблюдается. Новых категорий нет. Каких-либо перестановок с предыдущим прайсом не наблюдается. Однако характеристики и атрибуты товара не отображаются. Может кто знает как решить данную проблему? 
  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.