Удаление дублей в поиске

Материал из Umicms
Версия от 18:19, 15 июля 2012; XiBOR (обсуждение | вклад) (Новая страница: « '''Удаление дублей из поиска''' При использовании виртуальных копий для размещения одного …»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к:навигация, поиск
 Удаление дублей из поиска

При использовании виртуальных копий для размещения одного и того же объекта в разные категории можно столкнутся с такой ситуацией, когда при использовании поиска, в результат попадают все копии объекта. Чтобы этого избежать, можно воспользоваться JavaScript для скрытия таких копий.

Код можно вставить в любое место, главное чтобы он сработал на странице поиска. Код примерно следующий:

<script language="javascript" type="text/javascript">
jQuery(document).ready(function(){
    var arrDt = jQuery('dt').map(function(){
       return jQuery('dt a:contains(' + jQuery('a', this).text() + ')').not(':eq(0)')
            .closest('dt').hide();
    });

    var arrDd = jQuery('dd').map(function(){
        return jQuery('dd p:contains(' + jQuery('p', this).text() + ')').not(':eq(0)')
            .closest('dd').hide();
    });
});
</script>

У данного скрипта есть две характерных черты (плюсы это или минусы решать вам).

1. В количестве результатов поиска останется действительное число найденных объектов.

2. Порядковый ID также сохранится.

Если вас такой вариант не устраивает, не используйте данный скрипт или допишите его самостоятельно. Свой вариант этого скрипта можете оставить на странице обсуждения статьи, в случае его актуальности он будет так же добавлен.