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

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

Joomla 3.4: пункты меню без адреса сайта

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

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

Сообщений: 8


« : 02.04.2015, 11:01:54 »

Версия Joomla 3.4.1.
Создал 2 меню на русском и на английском языке: Главное меню (ru-RU) и Main menu (en-GB).
Пункты меню: Материалы » Избранные материалы, Контакты » Контакт, Материалы » Материал.
Joomla формирует для пунктов меню ссылки ru/<алиас> без адреса сайта, соответственно при нажатии на пункт меню вижу "Сервер не найден".
Почему так?
Записан
b2z
Support Team
*****

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

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


Разраблю понемногу


« Ответ #1 : 02.04.2015, 11:02:42 »

И причему тут раздел Баги?
Записан
Ronin47
Новичок
*

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

Сообщений: 8


« Ответ #2 : 02.04.2015, 11:14:11 »

Или это баг или я неправильно делаю, если так - переместите пожалуйста в соответствующий раздел.
Записан
Ronin47
Новичок
*

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

Сообщений: 8


« Ответ #3 : 07.04.2015, 10:25:38 »

Вопрос пока не решён, неужели править код построчно?
Записан
Ronin47
Новичок
*

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

Сообщений: 8


« Ответ #4 : 08.04.2015, 13:02:44 »

Решено наполовину.
Удалил папку \templates\<название моего шаблона>\html\mod_menu\, теперь ссылки в меню отображаются правильно: <мой сайт>/ru/<алиас>.
Судя по всему Joomla использует \modules\mod_menu\tmpl.

Вот неработающий код \templates\<название шаблона>\html\mod_menu\default.php
Код:
<?php
defined('_JEXEC') or die;
?>
<?php ?>
<ul class="nav menu <?php echo $class_sfx;?>"<?php
$tag = '';
if ($params->get('tag_id')!= null)
{
$tag = $params->get('tag_id').'';
echo ' id="'.$tag.'"';
}
?>>
<?php
foreach ($list as $i => &$item) :
$class = 'item-'.$item->id;
if ($item->id == $active_id) {
$class .= ' current';
}
if (in_array($item->id, $path)) {
$class .= ' active';
}
elseif ($item->type == 'alias') {
$aliasToId = $item->params->get('aliasoptions');
if (count($path) > 0 && $aliasToId == $path[count($path) - 1]) {
$class .= ' active';
}
elseif (in_array($aliasToId, $path)) {
$class .= ' alias-parent-active';
}
}
if ($item->deeper) {
$class .= ' deeper dropdown';
}
if ($item->parent) {
$class .= ' parent';
}
if (!empty($class)) {
$class = ' class="'.trim($class).'"';
}
echo '<li'.$class.'>';
switch ($item->type) :
case 'separator':
case 'url':
case 'component':
require JModuleHelper::getLayoutPath('mod_menu', 'default_'.$item->type);
break;
default:
require JModuleHelper::getLayoutPath('mod_menu', 'default_url');
break;
endswitch;
if ($item->deeper) {
echo '<ul class="dropdown-menu">';
}
elseif ($item->shallower) {
echo '</li>';
echo str_repeat('</ul></li>', $item->level_diff);
}
else {
echo '</li>';
}
endforeach;
?></ul>

... и неработающий код \templates\<название шаблона>\html\mod_menu\default_component.php
Код:
<?php
defined('_JEXEC') or die;

$class = $item->anchor_css ? 'class="'.$item->anchor_css.'" ' : '';
$title = $item->anchor_title ? 'title="'.$item->anchor_title.'" ' : '';
if ($item->menu_image) {
$item->params->get('menu_text', 1)?
$linktype = '<img src="'.$item->menu_image.'" alt="'.$item->title.'" /><span class="image-title">'.$item->title.'</span> ' :
$linktype = '<img src="'.$item->menu_image.'" alt="'.$item->title.'" />';
}
else { $linktype = $item->title;
}
$data_toggle = $item->deeper ? 'data-toggle="dropdown"' : '';
switch ($item->browserNav) :
default:
case 0:
?><a <?php echo $class; ?>href="/<?php echo $item->deeper ? '#' : $item->flink; ?>" <?php echo $data_toggle; ?> <?php echo $title; ?>><?php echo $linktype; ?><?php echo $data_toggle !== '' ? '<b class="caret"></b>' : '' ?></a><?php
break;
case 1:
?><a <?php echo $class; ?>href="/<?php echo $item->flink; ?>" target="_blank" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
break;
case 2:
?><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;
Записан
ChaosHead
Профи
********

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

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



« Ответ #5 : 08.04.2015, 16:14:17 »

Смысл скрывать <название шаблона>? Это единственное, что могло бы помочь кому-то ещё с таким-же шаблоном. Ведь на 100% проблема в шаблоне.

Цитировать
Судя по всему Joomla использует \modules\mod_menu\tmpl...
Мы в курсе, кэп!
Записан
Страниц: [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