krasniy001
Осваиваюсь на форуме
 
Репутация: +1/-1
Offline
Сообщений: 79
|
 |
« : 10.11.2006, 21:15:25 » |
|
Пошагово описываю проблему:
Создаю меню блог-категории "Инструмент" получаеться адрес ...content/blogcategory/13/75/ затем создаю подменю, ссылку на материал, "Отвертки", получаеться адрес ...content/view/26/77/. Назначаю модуль (справа) который должен отображаться только на странице "Отвертки". А теперь самое интересное!!! когда я иду на страницу "Отвертки" не через меню а например через Pathway или список материалов (блог) то я попадаю на страницу "Отвертки" по адресу ...content/view/26/75/ который есесно без правого назначеного модуля.
Возникает вопрос: почему один и тот же материал находиться по разным адресам? Как назначить модуль что бы он отображался на обоих адресах страницы материала? Господа, как бороться с этим??
|
|
|
|
« Последнее редактирование: 14.11.2006, 13:18:38 от krasniy001 »
|
Записан
|
|
|
|
one_more
Support Team
   
Репутация: +86/-3
Offline
Пол: 
Сообщений: 186
there is no spoon
|
 |
« Ответ #1 : 11.11.2006, 12:22:53 » |
|
1. Последняя цифра в URL это Itemid (идентификатор пункта меню), предыдущая - id (идентификатор самого материала). 2. Ссылки content/view/26/77/ и content/view/26/75/ выведут один и тот же материал с разным Itemid. 3. К Itemid привязаны вывод модулей, шаблонов (если их несколько), тип вывода списков материалов (блог, таблица) и др. 4. Чтобы для Itemid 77 и 75 выводилась страница, одинаковая по структуре и внешнему виду, нужно открыть эти пункты меню, и настроить все нужные параметры вывода (в т.ч. модуль "справа" нужно привязать к пунктам с Itemid 77 и 75)
ИМХА: Довольно вредная затея сразу же (в процессе обучения или отладки) включать seo/sef, не разобравшись, как формируются линки и что они означают. Многие вопросы растут отсюда.
|
|
|
|
|
Записан
|
|
|
|
krasniy001
Осваиваюсь на форуме
 
Репутация: +1/-1
Offline
Сообщений: 79
|
 |
« Ответ #2 : 12.11.2006, 05:56:12 » |
|
1. Последняя цифра в URL это Itemid (идентификатор пункта меню), предыдущая - id (идентификатор самого материала). 2. Ссылки content/view/26/77/ и content/view/26/75/ выведут один и тот же материал с разным Itemid. 3. К Itemid привязаны вывод модулей, шаблонов (если их несколько), тип вывода списков материалов (блог, таблица) и др. 4. Чтобы для Itemid 77 и 75 выводилась страница, одинаковая по структуре и внешнему виду, нужно открыть эти пункты меню, и настроить все нужные параметры вывода (в т.ч. модуль "справа" нужно привязать к пунктам с Itemid 77 и 75)
ИМХА: Довольно вредная затея сразу же (в процессе обучения или отладки) включать seo/sef, не разобравшись, как формируются линки и что они означают. Многие вопросы растут отсюда.
Я понимаю как формируются линки, я не понимаю как привязать модуль к обоим обьектам или как обьеденить две ссылки на материал в одну. Я могу привязать модуль только к пункту "mainmenu| -отвертки", нет там возможности привязки ко второй ссылке, и вообще мне кажеться недолжно быть раздвоения ссылок, непонимаю почему нельзя сделать что бы такого не происходило?? А параметры вывода меню для ссылок на материал тоже загадочно работают, изменение Unique Itemid на "Да" меняет ЮРЛ но blogcategory остаються старые ссылки
|
|
|
|
« Последнее редактирование: 12.11.2006, 07:39:46 от krasniy001 »
|
Записан
|
|
|
|
one_more
Support Team
   
Репутация: +86/-3
Offline
Пол: 
Сообщений: 186
there is no spoon
|
 |
« Ответ #3 : 12.11.2006, 14:56:14 » |
|
1. Из прочитанного понял не всё, ответ исходит из этого. Я могу привязать модуль только к пункту "mainmenu| -отвертки", нет там возможности привязки ко второй ссылке,
2. Открываем Админка > Модули > Модули сайта > Нужный модуль меню (mainmenu или другой) 3. Справа, в Pages/Items (Страницы/Объекты) находим необходимые пункты меню, к которым требуется привязка модуля 4. Чтобы отметить несколько разных пунктов в списке, необходимо удерживать клавиши Shift/Ctrl (принцип тот же, что и в приложениях Windows - Shift позволяет выделить "от и до" а Ctrl - отдельные пункты в списке) 5. После этого сохраняем изменения 6. Смотрим, что получилось А параметры вывода меню для ссылок на материал тоже загадочно работают, изменение Unique Itemid на "Да" меняет ЮРЛ но blogcategory остаються старые ссылки
7. А вот это не понял. В чём состоит задача?
|
|
|
|
|
Записан
|
|
|
|
krasniy001
Осваиваюсь на форуме
 
Репутация: +1/-1
Offline
Сообщений: 79
|
 |
« Ответ #4 : 13.11.2006, 01:29:44 » |
|
2. Открываем Админка > Модули > Модули сайта > Нужный модуль меню (mainmenu или другой) 3. Справа, в Pages/Items (Страницы/Объекты) находим необходимые пункты меню, к которым требуется привязка модуля 4. Чтобы отметить несколько разных пунктов в списке, необходимо удерживать клавиши Shift/Ctrl (принцип тот же, что и в приложениях Windows - Shift позволяет выделить "от и до" а Ctrl - отдельные пункты в списке) 5. После этого сохраняем изменения 6. Смотрим, что получилось
Я знаю как привязывать модуль к несколькоим пунктам меню, проблема намного глобальнее, обьясняю еще: зашел в модуль, справа список с элементами меню, и вот ТУТ кроется проблема, в этом списке есть ссылка только на элемент меню "mainmenu| -отвертки" но эта ссылка отличается от ссылки-заголовка которую генерит blogcategory поэтому если попасть на страницу с материалом не через меню а через blogcategory (щелкнув по заголовку статьи который работает как ссылка на продолжение материала) то естественно попадаешь на страницу с другим адресом который привязан к blogcategory а к этой странице невозможно привязать модуль т.к. она не отображаеться в списке элементов меню. ИМХА: Довольно вредная затея сразу же (в процессе обучения или отладки) включать seo/sef, не разобравшись, как формируются линки и что они означают. Многие вопросы растут отсюда.
И мой вопрос не имеет отношение к работе СЕО 
|
|
|
|
|
Записан
|
|
|
|
one_more
Support Team
   
Репутация: +86/-3
Offline
Пол: 
Сообщений: 186
there is no spoon
|
 |
« Ответ #5 : 13.11.2006, 06:53:00 » |
|
Так, кажется, наконец-то, задачу я понял. Что было совсем не просто. У Вас ведь есть какой-то пункт меню, который ведёт к blogcategory? Вот к нему модуль и привяжите. Если модуль должен быть только на уровне, вложенном в blogcategory и не должен быть на верхнем - создайте такой пункт меню (может быть, даже без его публикации) и привяжите модуль уже к нему. Тут, чтобы понять и что-то подсказывать, нужно самому видеть. А так "испорченный телефон" получается. И мой вопрос не имеет отношение к работе СЕО "Чтобы задать правильный вопрос, нужно знать бОльшую часть ответа" (с) Не я Вы cформулировали тему "Один и тот же материал по двум разным адресам" а я объяснил, почему так происходит и в чём заключается разница между двумя URL. Как смог понять - так и ответил. 
|
|
|
|
|
Записан
|
|
|
|
krasniy001
Осваиваюсь на форуме
 
Репутация: +1/-1
Offline
Сообщений: 79
|
 |
« Ответ #6 : 14.11.2006, 07:10:47 » |
|
У Вас ведь есть какой-то пункт меню, который ведёт к blogcategory? Вот к нему модуль и привяжите. Если модуль должен быть только на уровне, вложенном в blogcategory и не должен быть на верхнем - создайте такой пункт меню (может быть, даже без его публикации) и привяжите модуль уже к нему.
Мне как раз нужно что бы модуль отображался только в пунктах меню ниже blogcategory. Естественно с публикацией. НО!! Любой пункт в blogcategory (т.е. ссылка на материал) имеет два разных url. Один из них создаеться когда делаешь пункт меню, а другой url создаеться когда джумла генерит blogcategory и вот тут как раз засада!! Если попадаешь на страницу с материалом не через созданный пункт меню, а по ссылке через блог (у меня ссылка на материал это заголовок) тогда модуль не отображаеться потому что этого пункта меню нет в списке к котороым можно привязать модуль. Огромная просьба еще раз внимательно прочитать мое первое сообщение. Заранее благодарю за помощь.
|
|
|
|
|
Записан
|
|
|
|
one_more
Support Team
   
Репутация: +86/-3
Offline
Пол: 
Сообщений: 186
there is no spoon
|
 |
« Ответ #7 : 14.11.2006, 08:03:43 » |
|
Можно попробовать делать два меню, второе скрывать полностью или отдельные пункты. Ссылки в первом писать как URL на страницы, открываемые из второго меню. Принцип изложен здесь. Писать подробнее сейчас нет времени.
|
|
|
|
|
Записан
|
|
|
|
krasniy001
Осваиваюсь на форуме
 
Репутация: +1/-1
Offline
Сообщений: 79
|
 |
« Ответ #8 : 14.11.2006, 11:34:56 » |
|
Можно попробовать делать два меню, второе скрывать полностью или отдельные пункты. Ссылки в первом писать как URL на страницы, открываемые из второго меню. Принцип изложен здесь. Писать подробнее сейчас нет времени. Вобщем проблема остается открытая, но решить ее можно обходными путями, спасибо за помощь 
|
|
|
|
|
Записан
|
|
|
|
Yurets
Завсегдатай
   
Репутация: +77/-0
Offline
Пол: 
Сообщений: 510
Губернатор острова Борнео
|
 |
« Ответ #9 : 09.11.2007, 18:12:14 » |
|
Существует ли сегодня какое-нибудь действующее заклинание или магический артефакт, позволяющий раз и навсегда жестко вбить URL для конкретного НЕстатичного материала (конечно же интересует только Itemid)?
|
|
|
|
|
Записан
|
|
|
|
|
chtec
|
 |
« Ответ #10 : 09.11.2007, 22:42:23 » |
|
Существует ли сегодня какое-нибудь действующее заклинание или магический артефакт, позволяющий раз и навсегда жестко вбить URL для конкретного НЕстатичного материала (конечно же интересует только Itemid)?
Все зависит от того, что понимается под словом "вбить" и куда это нужно сделать? У каждого материала есть свой id, но модули и прочая - навешиваются на пункт меню. Соответственно, если взять адрес материала: сайт/index.php?option=com_content&task=view&id=5&Itemid=1 и убрать из него идентификатор пункта меню (&Itemid=1), - ну, в общем, посмотри сам, что получилось... Можно, правда, просто взять этот адрес (с &Itemid=1) и задавать его в других меню как url - тогда он будет один....
|
|
|
|
|
Записан
|
|
|
|
Yurets
Завсегдатай
   
Репутация: +77/-0
Offline
Пол: 
Сообщений: 510
Губернатор острова Борнео
|
 |
« Ответ #11 : 10.11.2007, 14:27:53 » |
|
chtec, спасибо за ответ. Попытаюсь обьяснить примером. Имеется структура материалов (описаний товаров): Моторные масла - Элитная линия - - Масло 1 - - Масло 2 - Стандартная линия - - Масло 3 ... В качестве многоуровнего вертикального меню используется модуль от Mitrich'а. Пункты меню "Моторные масла" и "Элитная линия" - блоги содержимого одной и той же категории. Это сделано с целью, чтобы в случае выбора корневого раздела (Моторные масла) по умолчанию сразу грузилась элитная линейка масел. Получается правильно - одни и те же материалы (Масло 1 и Масло 2) отображаются в разных пунктах меню и имеют, соответственно, разные Itemid, а необходимо, чтобы в этих двух блогах у этих материалов Itemid совпадали. Вот тут-то и загвоздка... Вот я знаю значение Itemid и оно останется навсегда таким, могу ли я присвоить конкретному материалу это конкретное значение и чтобы нигде, ни в каких других таблицах и блогах, оно не изменялось? Заранее благодарен.
|
|
|
|
|
Записан
|
|
|
|
|
chtec
|
 |
« Ответ #12 : 10.11.2007, 20:57:57 » |
|
Так - нет, потому что Itemid - "номер" пункта меню, материалу он не присваивается... но проблема, изложенная тобой, легко решается по-другому. Пункт "моторные масла" создается по типу "ссылка - url", куда вставляется ссылка, взятая из адресной строки на странице "элитные масла". Itemid будет тот же...
|
|
|
|
|
Записан
|
|
|
|
Yurets
Завсегдатай
   
Репутация: +77/-0
Offline
Пол: 
Сообщений: 510
Губернатор острова Борнео
|
 |
« Ответ #13 : 10.11.2007, 21:40:58 » |
|
chtec,  ! Сам бы ни за что не догадался.... Должно получиться, в понедельник отпишусь (а сейчас поставлю Вам заслуженный плюсик). 
|
|
|
|
|
Записан
|
|
|
|
Yurets
Завсегдатай
   
Репутация: +77/-0
Offline
Пол: 
Сообщений: 510
Губернатор острова Борнео
|
 |
« Ответ #14 : 12.11.2007, 11:34:21 » |
|
chtec, ещё раз спасибо - всё работает как нужно. 
|
|
|
|
|
Записан
|
|
|
|
|
город-Ч
Гость
|
 |
« Ответ #15 : 29.01.2010, 15:38:59 » |
|
Да, действительно изменение Unique Itemid (для Link - Content Item) ни как не влияет на url в ссылке меню, хотя в настройках ссылки URL меняется. Без хака не обойтись, а так же выбираем Itemid Compatibility Mode < 1.0.11. Правится это в файле mod_mainmenu.php. Меняем (строка 53 в Joomla! 1.0.15): if ( $mitem->type == 'content_typed' ) { $mitem->link .= '&Itemid='. $mainframe->getItemid($temp[1], 1, 0); } else { $mitem->link .= '&Itemid='. $mainframe->getItemid($temp[1], 0, 1); }
на $mitem->id = $mainframe->getItemid($temp[1], 1, 0); $mitem->link .= '&Itemid='. $mitem->id;
Следствием этого могут быть неожиданности типа отображения ссылки меню активной при переходе по ссылке другого меню с таким же ItemID. Но такова уж логика работы ItemId. Обойти можно путем создания пункта меню: блог не одной категории/раздела, а выбором нескольких. Вообще, если предположить что кусок родного кода написан верно, то его логика для меня осталась сокрытой загадочным смыслом )). Вобщем Joomla она и в африке Joomla (.
|
|
|
|
|
Записан
|
|
|
|
|