Форум русской поддержки Joomla!® CMS
04.12.2016, 06:02:04 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

mod_menu и подписи к пунктам меню (subtitles)

 (Прочитано 3486 раз)
0 Пользователей и 1 Гость смотрят эту тему.
St@lker
Осваиваюсь на форуме
***

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

Сообщений: 78


« : 24.07.2012, 20:54:33 »

Всем привет! Возникла необходимость сделать меню с подписями под ними. Что-то вида:

ГЛАВНАЯ       НОВОСТИ
о компании   наши новости

Я знаю что есть сторонние модули которые это делают, а в некоторых "модных" шаблонах используют фреймворки для реализации поставленой задачи (Yootheme к примеру использует WARP).

Я нашел для Joomla 1.5 решение, через добавление в папку HTML в корень шаблона, измененного кода, который ищет к примеру "Главная :: о компании" и заменяет :: о компании на <span>о компании</span>

Хотел спросить, может быть кто-то из местных сторожил встречал подобное под Joomla 2.5? Google не помог в поиске решения данной проблемы.

Спасибо!
Записан
Fedor Vlasenko
Профи
********

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

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


Все начинается с Value


« Ответ #1 : 24.07.2012, 21:10:57 »

Пишете название. Моя любимая  продукция//здесь два пробела. Далее из папки modules/mod_menu/tmpl копируешь файл default_component.php в папку ваш шаблон/html/mod_menu/ (нужно, чтобы изменения сохранились при обновлении)
В default_component.php находишь строку $linktype = $item->title; и заменяешь на
$linktype = str_replace('  ', '<br/>', $item->title);//здесь два пробела '  '
Теперь при вставке двух пробелов ваше меню будет разбито на строки
Вариант с <span>
Показать текстовый блок
« Последнее редактирование: 24.07.2012, 21:23:12 от Poznakomlus » Записан
NightGuard
Практически профи
*******

Репутация: +378/-7
Offline Offline

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


вжжж-вжжж


« Ответ #2 : 24.07.2012, 22:06:41 »

Poznakomlus, в место двух пробелов лучше использовать | или ~ - они применяются редко, при этом визуально дает разграничение (в пунктах меню).

Т.е. получаем или
Код
$linktype = str_replace('|', '<br/>', $item->title);
или
Код
$linktype = str_replace('~', '<br/>', $item->title);

Почти аналогично строится подключение модулей в меню.
Записан
Fedor Vlasenko
Профи
********

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

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


Все начинается с Value


« Ответ #3 : 24.07.2012, 22:23:57 »

Два пробела для поисковиков. Чтоб карту сайта и подобные которые с меню работают не переделывать Smiley
Записан
Фей
Завсегдатай
*****

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

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


skype: bel_ko_d


« Ответ #4 : 24.07.2012, 23:30:53 »

Народ, вы дампы меню смотрели хоть когда-нибудь в жизни? Я над вами угораю!
Есть поле "Примечание", пишите в него, что вам нужно.
Код:
object(stdClass)[72]
  public 'id' => string '108' (length=3)
  public 'menutype' => string 'mainmenu' (length=8)
  public 'title' => string 'Вид' (length=6)
  public 'alias' => string 'vid' (length=3)
  public 'note' => string 'здесь примечание' (length=31)
  public 'route' => string 'vid' (length=3)
  public 'link' => string 'index.php?option=com_........' (length=38)
  public 'type' => string 'component' (length=9)
  public 'level' => string '1' (length=1)
  public 'language' => string '*' (length=1)
  public 'browserNav' => string '0' (length=1)
  public 'access' => string '1' (length=1)
  public 'params' =>


И используете поле "note" как вам хочется.
Записан
NightGuard
Практически профи
*******

Репутация: +378/-7
Offline Offline

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


вжжж-вжжж


« Ответ #5 : 24.07.2012, 23:40:57 »

Фей, честно говоря - не смотрел еще, только недавно привычка такая появилась, после разделки модуля новостей.
Записан
St@lker
Осваиваюсь на форуме
***

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

Сообщений: 78


« Ответ #6 : 25.07.2012, 17:10:48 »

Фей, а код есть что бы использовать note?
Записан
saharin88
Давно я тут
****

Репутация: +15/-1
Offline Offline

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


joom.work


« Ответ #7 : 07.11.2012, 21:40:03 »

скажите пожалуйста как default_component.php шаблонизировать.
я создал в template/моя тема/html/mod_menu/bla.php, и выбрал в админке настройках модуля bla, но мне нужно именно default_component.php править, пробовал bla_component.php, не катит.. Sad
Записан
Фей
Завсегдатай
*****

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

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


skype: bel_ko_d


« Ответ #8 : 07.11.2012, 22:08:33 »

именно такое имя и создаете default_component.php и в нем делаете чего хотите
Записан
Фей
Завсегдатай
*****

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

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


skype: bel_ko_d


« Ответ #9 : 07.11.2012, 22:15:02 »

Фей, а код есть что бы использовать note?

давно не заходил, сорри!

в общем
Код:
echo (!empty($item->note)? '<span>'. $item->note .'</span>': '' );

Это кусок из default_component:
Код:
switch ($item->browserNav) :
default:
case 0:
?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
break;
case 1:
// _blank
?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" target="_blank" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
break;
case 2:
// window.open
?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" onclick="window.open(this.href,'targetWindow','toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes');return false;" <?php echo $title; ?>><?php echo $linktype; ?></a>
<?php
break;
endswitch;

надо первый код поставить перед каждым из break;
Записан
zaur111
Давно я тут
****

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

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



« Ответ #10 : 07.12.2012, 18:05:12 »

давно не заходил, сорри!

в общем
Код:
echo (!empty($item->note)? '<span>'. $item->note .'</span>': '' );

Это кусок из default_component:
Код:
switch ($item->browserNav) :
default:
case 0:
?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
break;
case 1:
// _blank
?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" target="_blank" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
break;
case 2:
// window.open
?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" onclick="window.open(this.href,'targetWindow','toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes');return false;" <?php echo $title; ?>><?php echo $linktype; ?></a>
<?php
break;
endswitch;

надо первый код поставить перед каждым из break;
А дальше то что делать, как в админке пункты создать? Т.е. создаю пункт -> название пункта + два пробела субтекст? Что то не получается...
Записан
Фей
Завсегдатай
*****

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

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


skype: bel_ko_d


« Ответ #11 : 07.12.2012, 18:59:07 »

конечно же, ведь не читаем и не думаем )
в 2.5 есть поле "Примечание" в каждом пункте меню, вот туда и пишем субтекст
Записан
zaur111
Давно я тут
****

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

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



« Ответ #12 : 08.12.2012, 12:45:04 »

конечно же, ведь не читаем и не думаем )
в 2.5 есть поле "Примечание" в каждом пункте меню, вот туда и пишем субтекст
Получилось! Правда у нас note за пределы тега "a" выводится, но с этим я уже справлюсь... Спасибо большое!
Записан
tigra-uki
Давно я тут
****

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

Пол: Женский
Сообщений: 351


Joom'листка


« Ответ #13 : 29.04.2016, 17:42:29 »

Посоветуйте, пожалуйста, если возможно, аналогичный фокус с Joomla 3.
Указанные действия, увы, не привели ни к чему Sad
Записан
zaur111
Давно я тут
****

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

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



« Ответ #14 : 29.04.2016, 17:51:11 »

А что в Joomla 3 - $item->note - не работает? Я делал, все работало вроде, давно было, точно не помню.
Записан
tigra-uki
Давно я тут
****

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

Пол: Женский
Сообщений: 351


Joom'листка


« Ответ #15 : 29.04.2016, 19:51:50 »

А что в Joomla 3 - $item->note - не работает? Я делал, все работало вроде, давно было, точно не помню.
Вы знаете, посмотрела и пришла к выводу, что просто из моего шаблона правки игнорировались в файле default_component.php.
Если же внести указанные Вами правки в modules/mod_menu/tmpl/default_component.php то все работает!
Записан
zaur111
Давно я тут
****

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

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



« Ответ #16 : 29.04.2016, 20:15:03 »

Значит переопределение шаблона неправильно сделали. Удалите переопределение из вашего шаблона и потом создайте заново в админке через шаблон и создания переопределений.
Записан
tigra-uki
Давно я тут
****

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

Пол: Женский
Сообщений: 351


Joom'листка


« Ответ #17 : 29.04.2016, 20:23:43 »

Значит переопределение шаблона неправильно сделали. Удалите переопределение из вашего шаблона и потом создайте заново в админке через шаблон и создания переопределений.
Именно! Спасибо за совет!
+
Записан
tigra-uki
Давно я тут
****

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

Пол: Женский
Сообщений: 351


Joom'листка


« Ответ #18 : 31.05.2016, 19:00:52 »

Кстати, указанный способ хорош, но, не хочет работать, если пункт меню является внешней ссылкой - в этом случае subtitle  не отображается...Sad
Записан
Shustry
Moderator
*****

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

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


Рисую дизайны


« Ответ #19 : 31.05.2016, 19:29:59 »

Потому что для внешней ссылки нужно править файл default_url.php
Записан
tigra-uki
Давно я тут
****

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

Пол: Женский
Сообщений: 351


Joom'листка


« Ответ #20 : 31.05.2016, 19:37:34 »

Потому что для внешней ссылки нужно править файл default_url.php

Внезапно просто Azn
спасибо, Shustry!
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | 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