LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
27.05.2012, 22:46:05 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор Тема: Шутки с Itemid в ссылке на полный текст статьи.  (Прочитано 5033 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Александр Фёдоров
Осваиваюсь на форуме
***

Репутация: +26/-4
Offline Offline

Пол: Мужской
Сообщений: 190



« : 11.09.2006, 13:03:11 »

Столкнулся с таким неприятным глюком:

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

Чем-то эта тема перекликается с темами:
Прикольный глюк в 1.0.10
Неверный Itemid в com_frontpage
Но там вопросы остались без ответа, да и сами проблемы были несколько другого рода.

Теперь задача поподробнее.

Joomla 1.0.11 Английская.
Пробовал и на хосте и на Денвере. Результат одинаковый.

Есть меню вида:
Магазин (статический материал)
- Антивирусы (раздел, выводится блогом, без вывода категорий и материалов, просто описание раздела), Itemid=29
-- Касперский (категория, выводится блогом, с выводом краткого текста статей и ссылками "Подробнее"), Itemid=32

Так вот, во всех ссылках материалов в категории Касперский подставляется Itemid не категории, в которой он выводится и ссылкой из которой открывается, а Itemid раздела, в котором находится этот материал. Причем Itemid не того пункта меню, "веткой" которого являются категория и сам материал, а Itemid первого встречающегося упоминания раздела.

Что интересно, в случае вывода материалов категории таблицей (Table - Content Category) таких проблем нет. Все ссылки на материалы формируются корректно.

Собственно вопрос: решал ли кто-нибудь подобные проблемы? А то придется лопатить com_content... на предмет корректности формирования ссылок. Мне кажется, что это баг.
« Последнее редактирование: 12.09.2006, 10:34:24 от Александр Фёдоров » Записан
GOOSE
Гость
« Ответ #1 : 11.09.2006, 20:06:50 »

Замечал такой же глюк...
У меня ID из таблицы и из блога отличаются на единицу... При этом все работает, т.е. материал показывается....
Записан
userxp
Администратор
*******

Репутация: +400/-6
Offline Offline

Пол: Мужской
Сообщений: 3227


Злой и ужасный бармалей


« Ответ #2 : 11.09.2006, 20:50:33 »

Так вот, во всех ссылках материалов в категории Касперский подставляется Itemid не категории, в которой он выводится и ссылкой из которой открывается, а Itemid раздела, в котором находится этот материал. Причем Itemid не того пункта меню, "веткой" которого являются категория и сам материал, а Itemid первого встречающегося упоминания раздела.
а называиса это чудо $mainframe->getItemid();
Записан
Александр Фёдоров
Осваиваюсь на форуме
***

Репутация: +26/-4
Offline Offline

Пол: Мужской
Сообщений: 190



« Ответ #3 : 11.09.2006, 21:48:26 »

GOOSE, с отображением статей в любом случае все нормально.
Главная проблема - с активным пунктом меню и формированием пути (pathway).

userxp, что интересно - этот глюк возникает только с блогом категории. С таблицей категории все в порядке.

Поковыряю getItemid(). Это же чистый баг получается.
Записан
Александр Фёдоров
Осваиваюсь на форуме
***

Репутация: +26/-4
Offline Offline

Пол: Мужской
Сообщений: 190



« Ответ #4 : 12.09.2006, 15:37:12 »

Итак, до чего я докопался...

файл includes/joomla.php, функция getItemid (строка 1513).

Среди прочих, есть два блока определения Itemid:

_ContentBlogSection (строки 1640-1655)
_ContentBlogCategory (строки 1667-1692)

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

Решение - это поменять местами указанные блоки. Тогда сначала обработается категория и Itemid будет корректным.

Попутно стали понятны следующие вещи в организации контента в Joomla:
  • ссылки на разделы и категории в меню должны быть уникальными, иначе будет браться первая ссылка
  • к тому или иному материалу лучше прокладывать только один путь по меню (не нужно дублирующих или включающих один другой пунктов меню), иначе будет браться опять же только первая ссылка

Теперь бы перевести все это на английский и кинуть куда-нибудь в форум на joomla.org Azn
Записан
Mongoose
Осваиваюсь на форуме
***

Репутация: +5/-3
Offline Offline

Пол: Мужской
Сообщений: 52



« Ответ #5 : 12.09.2006, 17:59:54 »

...И патчик не помешало бы здесь опубликовать.
Записан
Александр Фёдоров
Осваиваюсь на форуме
***

Репутация: +26/-4
Offline Offline

Пол: Мужской
Сообщений: 190



« Ответ #6 : 12.09.2006, 21:50:00 »

Измененный файл прикреплен.

Перезаписать поверх оригинального в папке includes.

Кстати, в патче обновления до Joomla 1.0.11.1 этот файл тоже меняется. Так что надо будет вручную найти нужные строки и поменять их местами.

Либо подождать, я выложу обновленный файл через некоторое время.

* joomla.php.zip (41.88 Кб - загружено 199 раз.)
Записан
kpk17
Давно я тут
****

Репутация: +2/-0
Offline Offline

Сообщений: 224


« Ответ #7 : 20.12.2009, 00:43:09 »

а для 1.5 такой патчик есть?
Записан
Александр Фёдоров
Осваиваюсь на форуме
***

Репутация: +26/-4
Offline Offline

Пол: Мужской
Сообщений: 190



« Ответ #8 : 21.12.2009, 11:56:31 »

А где в 1.5 такой глюк наблюдается?
Записан
kpk17
Давно я тут
****

Репутация: +2/-0
Offline Offline

Сообщений: 224


« Ответ #9 : 23.12.2009, 21:55:05 »

А где в 1.5 такой глюк наблюдается?
у меня глюк в VirtueMart и из него глюк идет в навигацию. главная-пункт1-меню1-пункт1-товар
Записан
Александр Фёдоров
Осваиваюсь на форуме
***

Репутация: +26/-4
Offline Offline

Пол: Мужской
Сообщений: 190



« Ответ #10 : 24.12.2009, 11:16:43 »

у меня глюк в VirtueMart...

Ну тогда это совершенно другая тема.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet