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

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

модификация вывода пунктов меню

 (Прочитано 142 раз)
0 Пользователей и 1 Гость смотрят эту тему.
randomnick
Новичок
*

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

Сообщений: 4


« : 16.05.2017, 11:51:32 »

Здравствуйте!
Имеется mod_menu/tmpl/default.php
Показать текстовый блок
Сейчас он выводит такой пункт меню:
Код:
<li class="item-139">
<div class="item-wrap">
<a href="/">...</a>
<div class="subtitle">...</div>
</div>
</li>

Я хочу сделать такой вывод:
Код:
<li class="item-139">
<div class="item-wrap">
<a href="/">...
<div class="subtitle">...</div>
</a>
</div>
</li>

Я понял, что ссылка цепляется из строки require JModuleHelper::getLayoutPath('mod_menu', 'default_' . $item->type);, но как залезть в неё не понимаю. В папке mod_menu/ лежит helper.php, но в нём я не нашел что-нибудь по этому поводу.
Как мне, вообщем, кастомизировать в пункте меню вывод этой ссылки?
Записан
NewUsers
Завсегдатай
*****

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

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


« Ответ #1 : 16.05.2017, 12:03:20 »

но как залезть в неё не понимаю.

Все файлы которые начинаются на default_ находятся там же где и default.php
Записан
randomnick
Новичок
*

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

Сообщений: 4


« Ответ #2 : 16.05.2017, 12:16:14 »

Все файлы которые начинаются на default_ находятся там же где и default.php
я сразу так подумал, что в них нужно искать, но нет - ни один из них не выводит "<a" (я искал поиском "<a", т.к. ожидал строку наподобие <?php  echo '<a href'. $item .'</a>' ?>)
« Последнее редактирование: 16.05.2017, 12:19:47 от randomnick » Записан
NewUsers
Завсегдатай
*****

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

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


« Ответ #3 : 16.05.2017, 12:21:38 »

(я искал поиском "<a", т.к. ожидал строку наподобие <?php  echo '<a href'. $item .'</a>' ?>)

ссылку выводи последняя строка в файле
Код
<?php echo JHtml::_('link', JFilterOutput::ampReplace(htmlspecialchars($item->flink)), $linktype, $attributes); ?>
Выше стой строки в переменную $linktype записывается заголовок ссылки, вот и туда и добавляй div
Записан
Septdir
Практически профи
*******

Репутация: +77/-3
Online Online

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


Skype: septdir


« Ответ #4 : 16.05.2017, 13:12:37 »

Либо выводить по старинке. без JHtml::
Записан
randomnick
Новичок
*

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

Сообщений: 4


« Ответ #5 : 16.05.2017, 16:56:31 »

ссылку выводи последняя строка в файле
Код
<?php echo JHtml::_('link', JFilterOutput::ampReplace(htmlspecialchars($item->flink)), $linktype, $attributes); ?>
Выше стой строки в переменную $linktype записывается заголовок ссылки, вот и туда и добавляй div

пробовал всяко, вот вроде бы должен работать вариант:
Код:
$linktype .= '<div>' . $item-> title . '</div>';
, но нет. Что я делаю не так?
Записан
NewUsers
Завсегдатай
*****

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

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


« Ответ #6 : 16.05.2017, 17:10:11 »

пробовал всяко, вот вроде бы должен работать вариант:
Код:
$linktype .= '<div>' . $item-> title . '</div>';
, но нет. Что я делаю не так?

В какой файле изменяешь и где он находится?
Какой тип пункта меню?
Записан
randomnick
Новичок
*

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

Сообщений: 4


« Ответ #7 : 17.05.2017, 11:55:41 »

В какой файле изменяешь и где он находится?
Какой тип пункта меню?

С утра вроде получилось. Во-первых, я менял файл default_url.php, а нужно было default_component.php, кроме того конкатенация перед знаком равно не нужна
Код:
$linktype = '<div>' . $item-> title . '</div>';

Спасибо за помощь)
Записан
Страниц: [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