Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
не работает Файловый менеджер - Некорректный ответ сервера. Данные отсутствуют

Автор ivan23Раздел Настройка системы и модулей

Ответов: 3
Просмотров: 4051
Последний ответ 30 Ноября 2018, 16:44:45
от MrUnless
как узнать id заказа (корзины) с которой работает покупатель

Автор atachРаздел Custom макросы

Ответов: 6
Просмотров: 5250
Последний ответ 22 Августа 2013, 22:57:57
от atach
Почему-то не работает edit-in-place для одного из полей

Автор VeinardРаздел Шаблоны XSLT

Ответов: 2
Просмотров: 3114
Последний ответ 16 Сентября 2014, 03:38:31
от Veinard
Опции товара - почему не работает код взятый с вики?

Автор CanektРаздел Шаблоны XSLT

Ответов: 0
Просмотров: 1342
Последний ответ 09 Августа 2017, 12:07:14
от Canekt
Скрипт не работает при подключении Edit-in-Place

Автор diii3Раздел Шаблоны XSLT

Ответов: 3
Просмотров: 3532
Последний ответ 20 Марта 2012, 12:01:52
от diii3

0 Пользователей и 1 Гость просматривают эту тему.

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Доброго времени суток.

Очень странное поведение.
Если здесь выбрать сортировку по цене
http://ruki24.ru/magazin/ehlektroinstrument/ - оставляет 2 товара из 7 (у них разный тип данных для фильтра сделан)
А здесь работает нормально
http://ruki24.ru/magazin/sadovaya-tehnika/ - нормально сортирует все 39 товаров (так же разные типы данных)

Вот код, стоит для всех одинаковый, поле с ценой фильтруемое.

Цитировать
<xsl:apply-templates select="document(concat('udata://catalog/getSmartCatalog//', page/@id, '///5/', document('utype://catalog-object')//field[@name='price']/@name  ,'/', $sort_direction,'/'))/udata" />
Цитировать
   <xsl:template match="/result[@method = 'category'][count(/result/parents/page) &gt; 0]">
        <xsl:choose>
            <xsl:when test="$sort_field = 'Price'">
            <xsl:apply-templates select="document(concat('udata://catalog/getSmartCatalog//', page/@id, '///5/', document('utype://catalog-object')//field[@name='price']/@name  ,'/', $sort_direction,'/'))/udata" />
            </xsl:when>
            <xsl:when test="$sort_field = 'Name'">
            <xsl:apply-templates select="document(concat('udata://catalog/getSmartCatalog//', page/@id, '///5/', document('utype://catalog-object')//field[@name='title']/@name  ,'/', $sort_direction,'/'))/udata" />
            </xsl:when>
            <xsl:otherwise>
            
                <xsl:apply-templates select="document(concat('udata://catalog/getSmartCatalog//', page/@id, '///5/'))/udata" />
            </xsl:otherwise>
        </xsl:choose>
   </xsl:template>

P.S.: Интересно, что сортировка по цене на общей странице http://ruki24.ru/magazin/ работает корректно
« Последнее редактирование: 18 Августа 2016, 13:56:02 от Sumrakrnd »

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Для начала, обратите внимание что там, где сортировка работает корректно, есть перезагрузка страницы.
А затем, посмотрите js код, который делает это без перезагрузки http://ruki24.ru/templates/demodizzy/js/__common.js

P.S. Логотип огонь )

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Для начала, обратите внимание что там, где сортировка работает корректно, есть перезагрузка страницы.
А затем, посмотрите js код, который делает это без перезагрузки http://ruki24.ru/templates/demodizzy/js/__common.js

P.S. Логотип огонь )

Немного не поняла, а что надо сделать? ><
Просто я нигде не ставила перезагрузку станицы, так же как и не убирала :(

P.S.: за логотип спасибо :D


*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
ну, в demodizzy есть js код, который делает сортировку. И срабатывает он при наличии определенных css классов и определенной структуры.

И тут надо понять для начала, вы хотите чтобы сортировка была с перезагрузкой или нет?
В первом случае, надо отрубать этот js код. Во втором, разбираться как его заставить работать полноценно.

P.S. js код в файле, указанном в предыдущем сообщении, начинается со строк:
jQuery('a', '.catalog .change .sort').click(function() {
var reactive = jQuery(this).hasClass('reactive');
...

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Да, кусочек кода я нашла...
Думаю с перегрузкой лучше будет.

А что менять?
Я сперва думала, может какой-то класс удалила, но посмотрела и все нормально, т.е. шаблон одни.


Но я очень боюсь в этих js что-то менять, я в basket.js с такими матюками ковырялась >.<

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
там где работает, просто ломается js' ка  поэтому js сортировки и не работает
Попробуйте уберать класс sort с блока с сортировкой.

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Убрала, теперь не работает @_@

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Блин... да что за фигня...
Все страницы должны перегружаться, основа для js тронута не была, почему главная магазина и один раздел перегружаются и нормально сортируются.
А в остальные нет? =_=
Весь код перерыла @_@

P.S.: некоторые внутренние разделы тоже не перегружаются...
« Последнее редактирование: 18 Августа 2016, 18:19:01 от Sumrakrnd »

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
В общем решила проблему, ну ооочень костыльным способом, поставив location.reload(true); в конце этого кусочка кода.

Цитировать
   jQuery('a', '.catalog .change .sort').click(function() {
      var reactive = jQuery(this).hasClass('reactive');
      if(jQuery('.content .numpages').get(0)) {
         if(jQuery(this).hasClass('sort-price')) {
            jQuery.cookie('sort_field', 'Price', {path: '/'});
         } else if( jQuery(this).hasClass('sort-name') ) {
            jQuery.cookie('sort_field', 'Name', {path: '/'});
         } else if( jQuery(this).hasClass('sort-stock') ) {
            jQuery.cookie('sort_field', 'Stock', {path: '/'});
         }
         if(reactive) {
            jQuery.cookie('sort_direction', '0', {path: '/'});
         } else {
            jQuery.cookie('sort_direction', '1', {path: '/'});
         }
         location.reload(true);

      } else {
      ....................
      }
      location.reload(true);
   });

Надеюсь найду еще другой способ, т.к. само по себе странно на мой взгляд работает этот модуль

*

aghigay

  • *****
  • 611
  • +28/-3
  • Просто пытаюсь помочь. Иногда пинком
    • Просмотр профиля
    • umicms.me
нда...
Мой блог http://umicms.me