Deutsch

JOOMLA 2.5 - мультикатегории

285  
Vovan(ator) свой человек29.07.12 20:40
Vovan(ator)
NEW 29.07.12 20:40 
Привет всем!
Я колдую сейчас над сайтом в JOOMLA 2.5, и столкнулся с одной проблемкой.
Нужно соединить 2 различных меню с одним текстом или с одной категорией.
И желательно так, чтоб независимо друг от друга (на какой бутон кликнуть)
появлялся текст и активировались бутоны в обоих меню.
К примеру главное меню, в нём есть кнопка "Услуги"
А как грузится основная страница категории "услуги", в ней появляется ещё одно меню с перечнем услуг.
И чтоб в этом меню первая кнопка была тоже связана с основной страницей категории "Услуги".
В Гугле поискал, но вроде ничего путного не нашёл, так-как multi-categorization работает пока только до версии Joomla 1.6.
И при инсталяции на версию 2.5 возникают проблемы.
#1 
Besser посетитель29.07.12 23:57
Besser
NEW 29.07.12 23:57 
в ответ Vovan(ator) 29.07.12 20:40
Что-то подобное должно быть по-умолчанию. Можно создать подменю, а там уже колдовать с CSS, так как ссылкам активным присваиваются классы. Вообще там много настроек в меню - надо поковыряться.
#2 
Vovan(ator) свой человек30.07.12 00:25
Vovan(ator)
NEW 30.07.12 00:25 
в ответ Besser 29.07.12 23:57
Подкатегории и подменю я могу сделать, это не проблема.
Проблема в том, чтоб два или больше пункта в различных меню между собой соединить.
К примеру если сделать меню для музыкального сайта и там создать категории типа "Стиль", "Исполнитель" и "Песня".
Допустим я нажимаю на "Стиль", выскакивает список исполнителей в этом стиле.
Нажимаю на исполнителя и выходит меню его песен.
И когда я нажимаю на кнопку "Песня", то первые два меню должны оставаться и в них должны так же оставаться активными ссылки.
Через CSS я могу отформатировать само меню, но я не могу никак соединить между собой отдельные модули или тексты.
Здесь нужно или самому в джумловские PHP-скрипты лезть или готовые модули искать.
Я нашёл кое что через Гугль, но оно не работает с Joomla 2.5.
Может кто уже искал подобное или какое решение сам нашёл?
#3 
Sergo2008 старожил30.07.12 07:57
Sergo2008
NEW 30.07.12 07:57 
в ответ Vovan(ator) 30.07.12 00:25, Последний раз изменено 30.07.12 07:59 (Sergo2008)
В 1.6-2.5 мультиязычность несколько ограниченная, единственные связи между материалами, делаются через настройки пунктов меню, при включенном пункте "связей" в плагине languagefilter. После включения связей, в настройках пункта меню появляется соответствующий раздел, где для каждого языка есть свой выпадающий список с материалам, вот в них и можно выбирать какие с какими имеют связи.
Если этого мало, то следует дождаться выхода JoomFish, или воспользоваться пока немного менее функциональным FaLang.
Что касается подсветки обоих меню, то тут тоже проблема, этого нет в джумле по умолчанию, нет связей на подсветку между двумя меню, по крайней мере я такого не знаю. Я всегда делаю небольшой хак или вообще шаблонное верхнее меню, в последнее время использую только шаблонное. Делается это не сложно, за основу берётся код стандартного меню, в которое дописывается проверка на активность соответствующего связанного меню с конкретным пунктом, и если оно активно, то пункт подсвечивается.
Кстати.., такой же вариант используется на многих коммерческих шаблонах, с которых можно вытащить нужный код, но на мой взгляд проще взять и сделать самому, чем вырезать куски кода из чужого шаблона, а потом их клеить.
#4 
compman знакомое лицо30.07.12 08:34
compman
NEW 30.07.12 08:34 
в ответ Vovan(ator) 30.07.12 00:25
Наверное только при помощи яваскрипт. Ничего другого в голову не приходит.
#5 
Vovan(ator) свой человек30.07.12 14:17
Vovan(ator)
30.07.12 14:17 
в ответ Sergo2008 30.07.12 07:57
Вообще, мне нужно всё в одном языке, но по идее это можно и под мои запросы подогнуть немного.
Я попробую сделать парочку модулей-пустышек и их использовать как переменные на определённых страницах.
Я так уже меню на нужных страницах высвечивал или убирал.
Придётся всё же PHP-скрипты немного усложнить раз по простому не катит
#6 
Sergo2008 старожил30.07.12 15:40
Sergo2008
NEW 30.07.12 15:40 
в ответ Vovan(ator) 30.07.12 14:17, Последний раз изменено 30.07.12 15:45 (Sergo2008)
Если для одного языка, то что мешает использовать стандартные варианты, пункт меню-ссылка на уже готовый пункт меню(страницу), или просто следующий пункт меню на туже статью. В первом случае при клике по одному пункту меню, второй тоже автоматом подсвечивается, так как оба пункта меню используют один и тот же алиас. Просто при создании ссылки, не нужно задавать новый алиас, а оставлять поле пустым, в него автоматом задастся дата, но алиас в адресной строке останется от родителя.
С категориями будет тоже самое, ведь это просто ссылки, на уже забитые пункты меню в другом модуле меню.
Я делаю шаблонное меню только из за того, что мне нужна подсветка пункта меню, для верхнего меню, для всех открытых страниц дополнительного модуля меню. Такой возможности стандартной нет, а вот обычная привязка пунктов меню на уровне ссылок, с подсветкой обоих, это есть.
#7 
Vovan(ator) свой человек30.07.12 22:59
Vovan(ator)
NEW 30.07.12 22:59 
в ответ Sergo2008 30.07.12 15:40
Чёт не получается
Если я в различных меню пытаюсь поставить одинаковые названия или алиес, то выскакивает ошибка
"Speichern fehlgeschlagen! Fehler: Ein anderer Menüeintrag hat den selben Alias im Root. Root ist der Wurzeleintrag"
Стандартными способами похоже это не решается если Гуглю верить.
Есть или модуль или плугин для подключения одной категории к различным навигациям.
но он пока только для старых версий джумлы
#8 
Sergo2008 старожил31.07.12 08:12
Sergo2008
NEW 31.07.12 08:12 
в ответ Vovan(ator) 30.07.12 22:59
Я вчера неправильно написал тебе, про "меню-ссылка", не помнил как точно называется, возможно поэтому у тебя и не вышло, ссылочные пункты не привязываются, у них всё равно свой алиас создаётся.
Привожу пример по своему сайту, как сделано:
У меня имеются модули топ меню и правого меню, под своими названиями соответственно, в каждом есть пункт меню FAQ(Одинаковое название). В топ меню, пункт меню FAQ сделан по стандарту, то есть вид блога с указанием на категорию с вложенными категориями. В правом меню у меня выбран - "Псевдоним пункта меню", где как уже писал имя(заголовок) пункта меню тот же, а алиас был оставлен пустым, как там и написано перед ним - "Внимание! Оставьте поле Алиас незаполненным, если текущий пункт меню и пункт меню, на который он ссылается, имеют один и тот же родительский пункт меню.". Всё.., если теперь выбрать справа на закладке "Обязательные параметры", пункт меню FAQ из топ меню, и сохранить, то получишь полную копию пункта меню, с тем же алиасом и содержимым, и подсветкой обоих пунктов.
ПС. В алиас добавится при сохранении дата и время, так и должно быть. В адресной строке будет алиас основного пункта меню.
Сейчас проверил..., "Псевдоним пункта меню" работает даже в одном модуле меню(к примеру между соседними пунктами), всё подсвечивается одновременно.
В общем, если у тебя к примеру верхнее меню, каждый пункт должен быть привязан к другому пункту меню из другого модуля(ей), то тебе даже не понадобится делать хак на подсветку пунктов верхнего меню.
#9 
Vovan(ator) свой человек31.07.12 20:14
Vovan(ator)
NEW 31.07.12 20:14 
в ответ Sergo2008 31.07.12 08:12
Крутил по всякому, но чёт не получилось.
Когда делаю всё так как ты описал, то выскакивает 404, типа страница не найдена.
Псевдоним пункта меню имеется в виду "Menüeintrag-Alias"?
Я пробовал так же и с другими вариантами, но ничего не получилось
#10 
Sergo2008 старожил31.07.12 21:03
Sergo2008
NEW 31.07.12 21:03 
в ответ Vovan(ator) 31.07.12 20:14
В ответ на:
Псевдоним пункта меню имеется в виду "Menüeintrag-Alias"?

Да, это и есть..
В ответ на:
Когда делаю всё так как ты описал, то выскакивает 404, типа страница не найдена.

А основной пункт меню нормально показывает страницу? Возможно что ты всё же не совсем так что то делаешь, раз не получается, у меня же работает, и без проблем.
Сейчас уже нет желания, завтра с утра сделаю пару скриншотов настроек и покажу..., на немецком, раз ты русский не признаёшь.
#11 
Vovan(ator) свой человек31.07.12 21:21
Vovan(ator)
NEW 31.07.12 21:21 
в ответ Sergo2008 31.07.12 21:03
Я уже и сам не знаю...
Может чего и напутал, я сначала вроде всё по описанию делал, потом стал другие варианты пробовать.
Структура у меня в принципе не сложная.
В главном меню, сверху должен быть пункт "Услуги"
В меню с лева должны быть эти услуги перечислены.
Но я думал, чтоб слово "Услуги" было только в верхнем меню.
А в боковом чтоб оно больше не повторялось.
И исходя из этого я думаю что с Алиасами не получится, так-как там названия пунктов меню должны соответствовать.
Получается что Категория "Услуги" это как главная категория
и она должна быть подсвечена в главном меню всегда когда активируются пункты в меню для подкатегорий.
И ещё было бы совсем идеально, еслиб это всё ещё и с третьим меню в футере было связано
В простых PHP-Сайтах я это решаю путём переменных.
#12 
Vovan(ator) свой человек01.08.12 00:12
Vovan(ator)
NEW 01.08.12 00:12 
в ответ Sergo2008 31.07.12 21:03
В ответ на:
А основной пункт меню нормально показывает страницу?

Оба линка работают, как в главном меню, так и в боковом,
только кнопка в боковом меню не подсвечивается.
Если я на другие кнопки в боковом меню кликаю, то все кнопки срабатывают нормально, только пропадает подсветка в главном меню.
А если кликаю на основную кнопку в боковом меню, то ссылка срабатывает, а подсветка нет,
загорается только соответствующая кнопка в главном меню.
#13 
Sergo2008 старожил01.08.12 08:17
Sergo2008
NEW 01.08.12 08:17 
в ответ Vovan(ator) 31.07.12 21:21, Последний раз изменено 01.08.12 08:19 (Sergo2008)
В ответ на:
В главном меню, сверху должен быть пункт "Услуги"
В меню с лева должны быть эти услуги перечислены.

Если нужно так..., то тут без шаблонного меню не обойтись, так как нет привязки подсветки к другому меню. То что я привёл, работает только с псевдонимом пункта, только в этом случае два разные пункта меню, имеющие одну ссылку, будут светится вместе.
Да и вообще.., что бы в главном, верхнем меню всегда подсвечивался пункт услуги, при любом из активированных пунктов меню услуг, тут без хака не сделать, нужна проверка на активное меню. Я это делаю в шаблонном меню, где через переменные привязываю каждый конкретный пункт(id) топ меню, к id активного модуля. Ну а уже в обработчике проверяю какое меню активно, и подсовываю в ссылку топ меню параметр активности. Уже давно хочу всё перенести в свой модуль меню, но не как не соберусь.
В любом случае.., смотри готовые шаблоны, в них уже во многих есть свои варианты реализации этого.
Я же делал в своё время для джумлы 1.5 из модуля меню, и потом перенёс с доработкой на 2.5. В общем я использую код стандартного модуля меню с доработкой, и вызываю его из класса в шаблоне.
Других вариантов нет.., по крайней мере даже на джумла сайте в расширениях не видел не чего из готового, что бы это же самое делало.
Что касается ошибки 404, я вчера просто забыл, голова уже дымилась за 14 часов за компом.., возможно это у тебя вылетало, так как ты не обновлял страницу сайта, при смене ссылки пункта меню. У меня тоже такое иногда бывает, если забываю обновить страницу. Другого варианта не знаю, так как если ссылка правильная была, то ошибки не должно было быть.
#14 
Vovan(ator) свой человек01.08.12 14:43
Vovan(ator)
NEW 01.08.12 14:43 
в ответ Sergo2008 01.08.12 08:17
В ответ на:
Да и вообще.., что бы в главном, верхнем меню всегда подсвечивался пункт услуги, при любом из активированных пунктов меню услуг, тут без хака не сделать,

Я тоже об этом стал подумывать.
Попробую или так как ты предложил, или может чтоб в стандарные модули или шаблоны не лазить
попробую отдельный скрипт состряпать.
Может даже получится через опрос позиций и модулей прям в index.php сделать.
#15 
Sergo2008 старожил01.08.12 15:05
Sergo2008
NEW 01.08.12 15:05 
в ответ Vovan(ator) 01.08.12 14:43
В ответ на:
Может даже получится через опрос позиций и модулей прям в index.php сделать.

Ну ну.., пробуй, я тоже пробовал, и сделал проще.
Забудь.., я тоже по началу думал про такое, и пытался это сделать таким образом, и после нескольких часов потраченного времени на поиски решений и проб методом научного тыка, взял код из модуля меню, сунул в функцию шаблонного класса, сделал небольшую доработку, и больше не парюсь. Один раз для каждого шаблона в файле параметров указываю ид пунктов меню в связке с ид модуля, и всё.
Не гарантирую, но может в августе я всё же вынесу из шаблона в свой модуль мой код, тогда возможно выложу модуль на джумловском сайте, хотя бы в варианте стандартного модуля с возможностью привязки к модулям меню.
#16 
Vovan(ator) свой человек01.08.12 15:21
Vovan(ator)
NEW 01.08.12 15:21 
в ответ Sergo2008 01.08.12 15:05
В ответ на:
Забудь.., я тоже по началу думал про такое,

Почему?
Сделать опрос на countModules, если модуль на позиции есть, то соответствующая кнопка в главном меню будет активна.
А в боковом меню нужные кнопки в любом случае будут как надо включаться.
Я подобным образом воковое меню вставил.
А чтоб ширина колонки была постоянной, даже когда этого блока нет,
я на место меню пустышку вставил нужной ширины, эт я чтоб для разных бровзеров хэки не писать.
#17 
Vovan(ator) свой человек01.08.12 16:12
Vovan(ator)
NEW 01.08.12 16:12 
в ответ Vovan(ator) 01.08.12 15:21, Последний раз изменено 01.08.12 17:15 (Vovan(ator))
Чёт я похоже поторопился
нужно больше колдовать
Вот здесь нашёл подобное и по идее должно так работать как мне надо,
но тоже кнопки не остаются активными
http://www.web-consultant.at/joomla-cms/joomla-anleitung/splitmenue-mit-joomla
#18 
Sergo2008 старожил01.08.12 20:25
Sergo2008
NEW 01.08.12 20:25 
в ответ Vovan(ator) 01.08.12 16:12
В ответ на:
Чёт я похоже поторопился
нужно больше колдовать


#19