0 Пользователей и 1 Гость просматривают эту тему.
  • 23 Ответов
  • 5102 Просмотров
*

safronoff343

  • Захожу иногда
  • 109
  • 0 / 3
Здравствуйте!

Буду очень благодарен за советы как реализовать, чтобы страница не могла ссылаться сама на себя ни в меню, ни в логотипе на главной странице

Заранее спасибо добрым людям! ;) Joomla 1.5
« Последнее редактирование: 15.11.2012, 21:05:10 от safronoff343 »
*

hooten

  • Захожу иногда
  • 443
  • 26 / 0
Цитировать
как реализовать, чтобы страница не могла ссылаться сама на себя
а почему она ссылается сама на себя?
*

safronoff343

  • Захожу иногда
  • 109
  • 0 / 3
а почему она ссылается сама на себя?

В смысле почему? Из меню...
Я и спрашиваю как сделать чтобы выбранный пункт меню становился не активным(не ссылкой) и чтобы логотип не был ссылкой только на главной?
« Последнее редактирование: 15.11.2012, 19:15:59 от safronoff343 »
*

safronoff343

  • Захожу иногда
  • 109
  • 0 / 3
В mod_exmenu-j15 это можно настроить?
*

voland

  • Легенда
  • 10837
  • 576 / 111
  • Эта строка съедает место на вашем мониторе
В mod_exmenu-j15 это можно настроить?
В стандартном и так не ссылается.
Вот зачем ставить непонятную хрень и искать ошибки?
*

safronoff343

  • Захожу иногда
  • 109
  • 0 / 3
В стандартном и так не ссылается.

для интереса поставил стандарт...тоже самое.
*

safronoff343

  • Захожу иногда
  • 109
  • 0 / 3
С лого решил проблему так

<?php $sv = $_SERVER['REQUEST_URI']; if ($sv == '/') { ?>
<img src="Лого" />(на главной)
<?php } else { ?>
<a href="/"><img src="Лого" /></a>(на внутренних)
<?php } ?>

Осталось меню :(
« Последнее редактирование: 15.11.2012, 20:13:39 от safronoff343 »
*

safronoff343

  • Захожу иногда
  • 109
  • 0 / 3
Разве никто не сталкивался?
Если выбран пункт меню, то он не должен быть ссылкой.
*

Fedor Vlasenko

  • Живу я здесь
  • 3841
  • 723 / 7
  • Все начинается с Value
файл default_component.php
сделай так
Код: php-brief
switch ($item->browserNav) :
default:
case 0:
if (in_array($item->id, $path)){
echo '<span '.$class.'>'.$linktype.'</span>';
}else {
?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
}
break;
case 1:
*

safronoff343

  • Захожу иногда
  • 109
  • 0 / 3
файл default_component.php
сделай так
Код: php-brief
switch ($item->browserNav) :
default:
case 0:
if (in_array($item->id, $path)){
echo '<span '.$class.'>'.$linktype.'</span>';
}else {
?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
}
break;
case 1:

Скажите, а где этот файл?
*

safronoff343

  • Захожу иногда
  • 109
  • 0 / 3
Нашел только helper.php....Но не работает...

Код
switch ($tmp->browserNav) 
{
default:
                       case 0:
                              if (in_array($item->id, $path)){
                      echo '<span '.$class.'>'.$linktype.'</span>';
                              }else {
                                       ?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
                                       }
                      break;
                       case 1:
// _blank
$data = '<a href="'.$tmp->url.'" target="_blank">'.$image.$tmp->name.'</a>';
break;
case 2:
// window.open
$attribs = 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,'.$this->_params->get('window_open');

// hrm...this is a bit dickey
$link = str_replace('index.php', 'index2.php', $tmp->url);
$data = '<a href="'.$link.'" onclick="window.open(this.href,\'targetWindow\',\''.$attribs.'\');return false;">'.$image.$tmp->name.'</a>';
break;

Не?
« Последнее редактирование: 15.11.2012, 22:57:14 от safronoff343 »
*

Fedor Vlasenko

  • Живу я здесь
  • 3841
  • 723 / 7
  • Все начинается с Value
да перепутал версию написал для 2,5 Это для Joomla 1.5
Код: php-brief
			switch ($tmp->browserNav)
{
default:
case 0:
// _top
                                        if($active){
                                        $data = '<span>'.$image.$tmp->name.'</span>'
                                         } else {
$data = '<a href="'.$tmp->url.'">'.$image.$tmp->name.'</a>';
                                         }
break;
case 1:
// _blank
$data = '<a href="'.$tmp->url.'" target="_blank">'.$image.$tmp->name.'</a>';
break;
case 2:
*

safronoff343

  • Захожу иногда
  • 109
  • 0 / 3
да перепутал версию написал для 2,5 Это для Joomla 1.5
Код: php-brief
			switch ($tmp->browserNav)
{
default:
case 0:
// _top
                                        if($active){
                                        $data = '<span>'.$image.$tmp->name.'</span>'
                                         } else {
$data = '<a href="'.$tmp->url.'">'.$image.$tmp->name.'</a>';
                                         }
break;
case 1:
// _blank
$data = '<a href="'.$tmp->url.'" target="_blank">'.$image.$tmp->name.'</a>';
break;
case 2:

Ошибка 500!
*

Fedor Vlasenko

  • Живу я здесь
  • 3841
  • 723 / 7
  • Все начинается с Value
*

safronoff343

  • Захожу иногда
  • 109
  • 0 / 3
а попробу заменить if($active){ на
if(JSite::getMenu()->getActive()->id){

Неа..все ровно...
*

safronoff343

  • Захожу иногда
  • 109
  • 0 / 3
Решил проблему так:
в legacy.php
Код
default : // formerly case 2
// open in parent window
if($id != '') $mitem->url = 'javascript: return false;';
$txt = '<a href="' . $mitem->url . '" class="' . $menuclass . '" '
. $id . '>' . $mitem->name . '</a>';
break;
}

Но теперь при наведении курсора вот "javascript: return false;"
*

Fedor Vlasenko

  • Живу я здесь
  • 3841
  • 723 / 7
  • Все начинается с Value
файл legasy.php
Код: php-brief
	default : // formerly case 2
// open in parent window
if ($current_itemid == $mitem->id) {
$txt = '<span>' . $mitem->name . '</span>';
} else {
$txt = '<a href="' . $mitem->url . '" class="' . $menuclass . '" ' . $id . '>' . $mitem->name . '</a>';
}
break;
}
*

safronoff343

  • Захожу иногда
  • 109
  • 0 / 3
Poznakomlus, спасибо!+

Все робит))

Еще вопрос. Пункт меню теперь неактивен во всей категории. Возможно ли так, чтобы меню было неактивно только по привязанному URL? Например - сайт.ру/квартры - неактивный пункт, сайт.ру/квартиры/однокомнатные/ - активный.
« Последнее редактирование: 19.12.2012, 20:03:27 от safronoff343 »
*

safronoff343

  • Захожу иногда
  • 109
  • 0 / 3
*

Fedor Vlasenko

  • Живу я здесь
  • 3841
  • 723 / 7
  • Все начинается с Value
Код: php-brief
default : // formerly case 2
// open in parent window
$this_url = JFactory::getURI()->toString(); //адрес текущей
if ($current_itemid == $mitem->id && $this_url!="сайт.ру/квартиры/однокомнатные") {
$txt = '<span>' . $mitem->name . '</span>';
} else {
$txt = '<a href="' . $mitem->url . '" class="' . $menuclass . '" ' . $id . '>' . $mitem->name . '</a>';
}
break;
}
*

safronoff343

  • Захожу иногда
  • 109
  • 0 / 3
Код: php-brief
default : // formerly case 2
// open in parent window
$this_url = JFactory::getURI()->toString(); //адрес текущей
if ($current_itemid == $mitem->id && $this_url!="сайт.ру/квартиры/однокомнатные") {
$txt = '<span>' . $mitem->name . '</span>';
} else {
$txt = '<a href="' . $mitem->url . '" class="' . $menuclass . '" ' . $id . '>' . $mitem->name . '</a>';
}
break;
}


Fedor Vlasenko Все таки я Неправильно выразился.

Сейчас стоит этот код
Код
default : // formerly case 2
// open in parent window
if ($current_itemid == $mitem->id) {
$txt = '<span>' . $mitem->name . '</span>';
} else {
$txt = '<a href="' . $mitem->url . '" class="' . $menuclass . '" ' . $id . '>' . $mitem->name . '</a>';
}
break;
}

но пункт не активен во всей категории по пункту меню. Т.е. , например, я перешел по меню "АВТОМОБИЛИ" сайт.ру/avto - все ок и "АВТОМОБИЛИ" не ссылка, перехожу далее сайт.ру/avto/vaz.html - и пункт "АВТОМОБИЛИ" тоже не ссылка. Как сделать чтобы из сайт.ру/avto/vaz.html пункт становился ссылкой?
*

Antig

  • Осваиваюсь на форуме
  • 44
  • 0 / 0
Уважаемый Fedor Vlasenko, подскажите пожалуйста, перепробовал все варианты в данной теме, в пером ошибка, во втором - ничего не происходит.
*

Fedor Vlasenko

  • Живу я здесь
  • 3841
  • 723 / 7
  • Все начинается с Value
Antig создайте отдельную тему.
Четко опишите вашу проблему. Версию, что делаете, что хотите получить
Незачем поднимать темы 3-х годичной давности
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться