Страница 1 из 1

Кто знаком с DLE... траблы с сылками на категории новостей.

Добавлено: Пт май 23, 2008 11:11
L'y
Всем привет.
Есть проблема: создаю в DLE категории новостей, хочу из главнго меню прописать ссылки по разделам, но при клике на ссылку, категория открывается в новом окне\вкладке.
Что может быть?
Да, чуть не забыл, меню построено скриптом (древовидное меню) /target в ссылке не прописан/
Заранее спасибо.

Добавлено: Вс май 25, 2008 20:43
MDCASH
L'y писал(а):Всем привет.
Есть проблема: создаю в DLE категории новостей, хочу из главнго меню прописать ссылки по разделам, но при клике на ссылку, категория открывается в новом окне\вкладке.
Что может быть?
Да, чуть не забыл, меню построено скриптом (древовидное меню) /target в ссылке не прописан/
Заранее спасибо.
убери << target="_blank" >> ... это если в хтмл коде... а если не поможет то посмотри в скрипте... друним ничем не могу помочи... незнаю что за скрипт...

Добавлено: Пн май 26, 2008 12:08
L'y
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<meta name="description" content="" />
<meta name="keywords" content="" />
<meta name="author" content="" />
<meta name="generator" content="220V, ~400Hz" />
<meta name="robots" content="index,follow" />
<script type="text/javascript">
function startMenu()
{
var menu = document.getElementById('menu');
var modules = menu.getElementsByTagName('li');
for( var i = 0; i < modules.length; i++ )
{
if( modules.className == 'special' )
{
modules.target = '_parent';
}
}
var submenus = menu.getElementsByTagName('ul');
var smitems;
for( var i = 0; i < submenus.length; i++ )
{
smitems = submenus.getElementsByTagName('a');
for( var j = 0; j < smitems.length; j++ )
{
smitems[j].onclick = function () { activate( this ); };
// smitems[j].onclick = ''; // для IE
// smitems[j].removeAttribute( 'onclick' );
// smitems[j].setAttribute( 'onclick', 'activate( this );' );
smitems[j].target = 'service';
}
}
}
function activate( what )
{
var menu = document.getElementById('menu');
var submenus = menu.getElementsByTagName('ul');
var smitems;
for( i = 0; i < submenus.length; i++ )
{
smitems = submenus.getElementsByTagName('a');
for( var j = 0; j < smitems.length; j++ )
{
smitems[j].className = '';
}
}
what.className = 'active';
}
function toggle( what )
{
what.parentNode.className = what.parentNode.className == "expanded" ? "" : "expanded";
}
window.onload = startMenu;
</script>
</head>
выводится как

<ul id="menu">
<li><a href="javascript:void(0);" onclick="toggle( this );return false;"><span>Документы</span></a>
<ul>
<li><a href="content.html" onclick="return false;">Новый документ</a></li>
<li><a href="content1.html" onclick="return false;">Все документы</a></li>
<li><a href="content2.html" onclick="return false;">Скрытые</a></li>
<li><a href="content3.html" onclick="return false;">Отобразить все</a></li>
<li><a href="content4.html" onclick="return false;">Редактируемые вставки</a></li>
</ul>
</ul>

Добавлено: Пн май 26, 2008 16:16
MDCASH
тут ява скрипт... я в нём не разбераюсь... :(

Добавлено: Пн май 26, 2008 20:08
Steff
L'y писал(а):<li><a href="content.html" onclick="return false;">Новый документ</a></li>
хз, так пробовал:

<li><a href="content.html" target="_self" onclick="return false;">Новый документ</a></li>

Либо в начале кода в хедере пропиши:

<base target="_self">

Добавлено: Пн май 26, 2008 22:37
Unknown

Код: Выделить всё

if( modules[i].className == 'special' ) 
{ 
modules[i].target = '_parent'; 
} 
}
Попробой заменить на:

Код: Выделить всё

if( modules[i].className == 'special' ) 
{ 
modules[i].target = '_self'; 
} 
}

Добавлено: Вт май 27, 2008 19:39
L'y
вечером попробую, спасибо, комраты. :beer:

[off]добавлено спустя 6 часов 38 минут:[/off]

не помогает, товарисчи.
по-прежнему в новой вкладке открывает... :cry:

[off]добавлено спустя 17 минут:[/off]

розобралси, друзья.
мож кому надо бует:
в коде

Код: Выделить всё

smitems = submenus[i].getElementsByTagName('a');
		for( var j = 0; j < smitems.length; j++ )
		
		{
			smitems[j].className = '';
		
		}
после smitems[j].className = '';
добавил

Код: Выделить всё

{
			smitems[j].target = '_parent';
		}
итого:

Код: Выделить всё

	smitems = submenus[i].getElementsByTagName('a');
		for( var j = 0; j < smitems.length; j++ )
		
		{
			smitems[j].className = '';
		{
			smitems[j].target = '_parent';
		}
		}
всем спасибо за внимание ;)

Добавлено: Вт май 27, 2008 20:26
Unknown
Зачем лишняя пара скобок? Ведь можно и без))

Добавлено: Ср май 28, 2008 10:56
L'y
Unknown,
"мы университетов не кончали" (С) :)

Добавлено: Ср май 28, 2008 12:15
Unknown
L'y,
"А мы и школу не кончали" (c) :)

Добавлено: Ср май 28, 2008 13:11
Steff
[off]Кто кто а я и в "Топ моделей не кончал (с)" 8) [/off]

Добавлено: Ср май 28, 2008 16:41
L'y
Steff,
гг