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

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Приветствую всех!

Сегодня с утра поймали очень странный баг - никаких, даже приблизительных, идей нет. Требуется помощь сообщества...

Исходные данные:

1. Joomla 3.1.5, которая выросла из 2.5.14, которая когда-то была 1.5, а еще раньше 1.0.
2. Есть порядка 36 категорий материалов, 3 уровня вложенности. На первом - 5 категорий, у всех есть 2-й уровень, у некоторых есть 3-й.
3. Кэша на сайте нет
4. Проблема повторяется в разных браузерах у нескольких человек

Суть проблемы:

При попытке изменить порядок у подкатегорий в категории Блоги - все категории первого уровня становятся серыми (это нормально), и пропадают все категории 2-го уровня, поэтому выбранную для перемещения категорию некуда тащить. И порядок изменить у этой категории нельзя.

При этом:

1. В соседних категориях 1-го уровня дочерние перетаскиваются без проблем.
2. Если перетащить подкатегории из Блоги в Новости - в Новостях все будет работать.
3. Если создать новую категорию Блоги 2 и перетащить в нее - внутри Блоги2 изменить порядок нельзя
4. Если создать новую категорию Тест, в ней дочерние Тест1 и Тест2 - изменить их порядок перетаскиванием так же нельзя.
5. Если ограничить кол-во отображаемых категорий до 20, то изменение порядка работает и на первой странице и на второй (т.е. в таком варианте можно изменить порядок дочерних категорий в категории Блоги)
6. Если категорию Блоги поставить самой первой в списке - все равно ее детей перемещать нельзя
7. Если удалить из базы категорию Новости со всеми дочерними категориями - все будет работать.

Дополнительно:

1. У категории Блоги (детей которой мы не можем перемещать) ID 151, в списке категорий есть категории с большим значением ID, у которых можно свободно перемещать детей.
2. Блокировок у категорий нет
3. Попытки перестроить дерево категорий не помогают
4. Если взять чистую Joomla 3.1.5 и импортировать в нее jos_categories проблема повторяется.
5. Визуально содержимое таблицы вполнекорректно

[spoiler title=Хочется процитировать товарища Чуковского]
Цитировать
Кто злодея не боится
И с чудовищем сразится,
Я тому богатырю
Двух лягушек подарю
И еловую шишку пожалую!
[/spoiler]

По ощущениям, проблема с перетаскиванием возникает у категорий, которые были созданы недавно. По крайней мере если создать новые категории, в них перемещение не работает. Если вновь созданные втащить на второй уровень в старые - там они будут перемещаться без проблем. Если посмотреть код - строки таблицы, атрибуты и классы выглядят корректно.

У кого какие есть идеи? Дамп таблицы прикрепил (в файле jos_categories2.txt  все те же категории, но 100% уникальные имена, алиасы, даты и прочее).
« Последнее редактирование: 09.10.2013, 17:18:33 от smart »
*

SK

  • Живу я здесь
  • 2152
  • 163 / 0
К сожалению сейчас не могу глубоко вникнуть в эту проблему - работы полно.
Исходя из своего опыта, могу сказать, что проблемы растут из этого:
Цитировать
1. Joomla 3.1.5, которая выросла из 2.5.14, которая когда-то была 1.5, а еще раньше 1.0.

Сам перетягивал сайт с 1.0 до 2.5 через 1.5. На 3.1 перетаскивать пока не стал.
К сожалению в штатную работу его не пустил пока.

У меня тоже были проблемы с вложенностью категорий (даже писал об этом).
Помогала команда "Перестроить", после которой категорий как-то хаотично разбредались и затем вручную выстраивал порядок, но не перетаскивая их мышкой, а изменяя циферки.
При чем и там были проблемы. Кажись сначала выстраивал первую категорию с её подкатегориями, затем вторую и т.д.
*

SK

  • Живу я здесь
  • 2152
  • 163 / 0
Еще вспомнил.
Гляньте авторов категорий.
У некоторых категорий могут отсутствовать авторы.
И кроме того, могут быть проблемы с ID у SuperUser. Например, в 1.0 ID был 62, а в 2.5 ID у SuperUser 42.
Либо вообще после миграции появились два Суперадмина.
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Я бы тоже думал плохо о том, что это последствия переноса, но:

1. Созданные в 3.1.5 категории тоже не перетаскиваются
2. Проблемы есть с категориями, которых на 1.0 и 1.5 не было
3. В таблице смешное кол-во строк, и визуально все на месте
4. Перестройка таблицы не помогает
5. Уменьшение кол-ва отображаемых - помогает
6. Удаление части категорий - помогает
7. Всем категориям проставлен один автор - самого себя проставил (да и в запросе таблица users идет через left join)

Есть некая версия, что что-то такое есть в категориях, что отображаясь на странице (когда все есть) вызывает некий конфликт и скрипт глючит. Но я не вижу ничего такого, возможно глаз замылился уже... В пользу этой безумной идеи можно сказать то, что часть категорий Новостей и Блогов имеют одинаковые названия и одинаковые алиасы. Но как это может влиять на drag'n'drop - не могу понять. И непонятно, как это может повлиять на перемещение для вновь созданных Тест1 и Тест2 внутри Тест. Только если в каких-то строках где-то выше по DOM возникает конфликт. Но в чем он - не вижу.

*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Когда полезли в код, стали отлаживать добрались до /media/jui/js/sortablelist.js
Проблемы начинаются где-то после 64-й строки. Т.е. когда мы тянем некий элемент, логика должна сделать серыми все элементы выше уровнем, если у того элемента, который тянут есть дочерние - скрыть их. А получается, что в проблемной категории скрываются все дочерние.

В принципе, есть путь менять порядок. Но очень интересна причина такого поведения, что ее вызывало и как исправить. очень сильно смущает следующее:

Цитировать
Если удалить часть старых категорий (Новости и все дочерние), то наша "заколдованная" категория начинает работать. Таким образом получается, проблема не в ее идентификаторе, не в пользователе-создателе, и не в самих ее дочерних элементах (ибо если их перенести в Статьи и обзоры все будет работать).


Поэтому тому, кто сможет эту аномалию объяснить объявлю публичную благодарность, выдам плюс и готов выплатит денежную премию!
« Последнее редактирование: 09.10.2013, 16:51:33 от smart »
*

SK

  • Живу я здесь
  • 2152
  • 163 / 0
Денюжка мне не нужна, так поделюсь своими наблюдениями ^-^
У меня 100% была проблема с категориями, у которых были одинаковые названия (на алиасы внимания тогда не обратил).
Эти одинаковы категории после миграции оказались в самых разных местах.

Попробуйте, если есть возможность, пронумеровать их названия разными цифрами (ну, и алиасы заодно).
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
1. Добавил к названиям категорий блогов 1-ку, и к алиасам соответственно тоже. Проблема осталась.
2. Заменил title и alias на md5(id) - точно уникальны. Проблема осталась.
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Прикрепил еще один файл с дампом, получил из первой таблицы следующим запросом:

Код: sql
update jos_categories 
set title = id
, alias = id
, created_user_id = 64
, modified_user_id = 64
, created_time = '0000-00-00 00:00:00'
, modified_time='0000-00-00 00:00:00'
, hits = 0
, metadesc=null
, metakey=null
, metadata = null

Т.е. все второстепенные поля обнулены и приведены к единым значениям, в заголовке и алиасе - значение идентификатора. Все записи уникальны. Проблема по-прежнему повторяется - дочерние для 151-й категории не перемещаются.

Нуу... Баг репорт? Может в 3.2 и включат.
Слабо верится, ибо когда сегодня пытался попросить помощи было сказано: "sorry Serge, we have many bugs in last master and I have to help solve them now as we plan a beta". Так что у них там своих багов достаточно.

Чтобы это исправили, надо понять почему это происходит. А у меня по-прежнему нет идей. Вот Аркадий пробовал повторить проблему на чистой 3.1.5, с большим кол-вом категорий, и проблем вроде как не было. А с нашим дампом - есть. Как это объяснить - не могу представить.
« Последнее редактирование: 09.10.2013, 17:23:51 от smart »
*

SK

  • Живу я здесь
  • 2152
  • 163 / 0
Глянул сейчас свои категории на двух одинаковых сайтах по содержимому на 1.0 и 2.5.
У меня этих категорий 49. Верхнего уровня 10.
В админке 2.5 эти категории имеют разные ID в порядке возрастания.
Т.е. подкатегория с меньшим ID  располагается и в категории 1-го уровня с меньшим ID.
Гляньте у себя, совпадает ли сортировка подкатегорий по ID с сортировкой подкатегорий по "Порядок" (именно подкатегории 2-го и 3-го уровня).
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Гляньте у себя, совпадает ли сортировка подкатегорий по ID с сортировкой подкатегорий по "Порядок" (именно подкатегории 2-го и 3-го уровня).
Нет, они создавались в разное время. Но:

Есть категория 151, в ней есть и меньшие (31) и большие значени (152, 153). И они не перемещаются. А с другой стороны есть категория 162, в которой только меньшие значения (18, 19), и они прекрасно перемещаются. Более того, если все содержимое категории 151 перетащить в 147, то там они будут двигаться без проблем.

Магия.. Что я упустил?

p.s. Еще один результат - если в списке показывать только первые 2 уровня, проблема повторяется. Т.е. записи третьего уровня не влияют на данную ошибку.
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Если переключиться в шаблон Hator, то порядок меняется без проблем. Т.е. проблема не связана с логикой самой Joomla (имею в виду какие-нибудь ограничения моделей или системы прав).
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Если переключиться в шаблон Hator, то порядок меняется без проблем. Т.е. проблема не связана с логикой самой Joomla (имею в виду какие-нибудь ограничения моделей или системы прав).
Просто детектив какой-то.
/me открыл пиво, взял попкорн и приготовился к развязке этой детективной истории ^_^
*

SmokerMan

  • Гуру
  • 5293
  • 720 / 26
/me открыл пиво, взял попкорн и приготовился к развязке этой детективной истории ^_^
попкорн - отстой, у меня тут раки  :P
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Всем вам раки, да попкорн. Нет чтобы взять и попытаться найти причину. Неужели не интересно?
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Всем вам раки, да попкорн. Нет чтобы взять и попытаться найти причину. Неужели не интересно?
Интересно, но на работе я это не могу делать...
*

SK

  • Живу я здесь
  • 2152
  • 163 / 0
Нет, они создавались в разное время. Но:

Есть категория 151, в ней есть и меньшие (31) и большие значени (152, 153). И они не перемещаются. А с другой стороны есть категория 162, в которой только меньшие значения (18, 19), и они прекрасно перемещаются. Более того, если все содержимое категории 151 перетащить в 147, то там они будут двигаться без проблем.

Магия.. Что я упустил?

p.s. Еще один результат - если в списке показывать только первые 2 уровня, проблема повторяется. Т.е. записи третьего уровня не влияют на данную ошибку.
Я сейчас дома в планшете сижу и не могу ничего нормально посмотреть.
А нельзя ли показать 2 картинки с сортировкой категорий по "Порядок" и по ID.
Главное увидеть сортировку подкатегорий.
Завтра на работе сравню со своей сортировкой.
*

SmokerMan

  • Гуру
  • 5293
  • 720 / 26
media/jui/js/sortablelist.js
заккоментировать строку
Цитировать
root.hideSameLevelChildrenNodes(ui.item.attr('level'));
у меня она 65

не разбирался что она конкретно делает, но проблема походу в ней
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
Сергей - у меня проблемы часто подобные наблюдаются, когда много категорий и связанных с ними пунктов меню, свыше 4-5 сотен
И модули не сохраняются и сортировка почти как у тебя не работает. При этом что на обычном виртуальном хостинге, что на дедике.
Гуглил, на оффоруме есть пара подобных тем, решения практически нет, как и реакции разработчиков

Не в этом у тебя трабл?
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
Вряд ли

Я тоже забрала дамп из первого поста, ни одного пункта естественно нет
Проблема та же наблюдается
Решается либо так, как Смокермен написал, либо ниже в в 121стр закомментировать
Код: javascript
 
this.hideSameLevelChildrenNodes = function (level) {
root.sameLevelNodes = root.getSameLevelNodes(level);
root.sameLevelNodes.each(function (){
_childrenNodes = root.getChildrenNodes($(this).attr('item-id'));
_childrenNodes.addClass('child-nodes-tmp-hide');
// _childrenNodes.hide();
});
}


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

А в менеджере модулей с проблемами с этим drag'n'drop практически сразу же столкнулась  - коряво сортирует, если в самом модуле выставлен порядок...но это уже отдельная тема...
« Последнее редактирование: 10.10.2013, 01:47:31 от ELLE »
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
виноват, дамп не поднимал
ламерский вопрос - структуру бд обновлять пробовали? в актуальном состоянии?
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
сообщение висит: "Структура таблиц базы данных в актуальном состоянии."

при попытке что-то передвинуть, у меня даже ломается всё
Спойлер
[свернуть]
« Последнее редактирование: 10.10.2013, 01:56:18 от ELLE »
*

SmokerMan

  • Гуру
  • 5293
  • 720 / 26
при попытке что-то передвинуть, у меня даже ломается всё
не надо слабому полу чего-то двигать, а то и сильный поломается
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как установить header Cache-Control только для одной страницы по URL?

Автор Slava77

Ответов: 0
Просмотров: 130
Последний ответ 23.03.2024, 00:16:36
от Slava77
Не удается разблокировать в менеджере материалов.

Автор vityavoluevich

Ответов: 0
Просмотров: 238
Последний ответ 10.01.2024, 09:05:30
от vityavoluevich
Долго грузятся страницы категорий

Автор SuperRomario

Ответов: 4
Просмотров: 1507
Последний ответ 03.07.2023, 17:59:07
от Wood
Модуль «Материалы - Новости» выводит неправильное количество материалов

Автор goga_pgasovav

Ответов: 1
Просмотров: 392
Последний ответ 20.03.2023, 19:30:45
от goga_pgasovav
[howto] Блог. Вывод материалов в списке подкатегорий

Автор dynamit

Ответов: 3
Просмотров: 1054
Последний ответ 05.10.2022, 13:37:10
от Mitriy