Навесить событие onClick на пункт меню

2 июля 2012 в 14:15
Аватар пользователя puhur01 puhur01 0 20

Добрый день.
Нужно по нажатию на пункт меню (скажем, "Контакты") открывать новое окно фиксированного размера (с контактной информацией). То есть нужно на пункт меню "Контакты" навесить событие onClick.
Как это можно сделать?

Комментарии

Спасибо за ссылку, но, честно говоря, этот способ не очень понятен. Дело в том, что мне нужна конкретная ссылка в меню, при нажатии на которую откроется маленькое окно. Подозреваю, что можно как-то снабдить ее идентификатором и написать скрипт, который будет выводить окно по нажатию. Но я не знаю, какие именно файлы нужно править (файлы темы или какие-то другие).

2 июля 2012 в 19:49

Суть не в маленьком окне скорее, а в навешивании события на пункт меню (именно пункт меню, не ссылка внутри ноды).
Мне нужно реализовать что-то вроде такого, но я не знаю, как это сделать в Друпале:

<a href="javascript://" onclick="window.open('info_contacts.html','info','height=370,width=320');return false;">Контакты</a>
2 июля 2012 в 20:17

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

2 июля 2012 в 20:36

Как раз-таки изобретение велосипеда не интересует Smile Интересует просто вывод по нажатию на ссылку в меню окна определенного размера (даже не модального, просто обычного окна). И чем проще способ, тем лучше.

2 июля 2012 в 20:43

"puhur01" wrote:
Как раз-таки изобретение велосипеда не интересует Smile Интересует просто вывод по нажатию на ссылку в меню окна определенного размера (даже не модального, просто обычного окна). И чем проще способ, тем лучше.

а чем тогда вот это не устраивает?
"multpix" wrote:
попробовать
http://drupal.org/project/colorbox
http://drupal.org/project/colorbox_node[/quote]

1 модальное окно, 2 вывод нод в это окно

2 июля 2012 в 20:57

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

2 июля 2012 в 22:12

Если не сложно, напишите, пожалуйста, немного подробнее. Например, способ добавления атрибутов к ссылкам. Нужно что-то дописать в файл template.php?

2 июля 2012 в 22:16

Если с помщью модуля [module=menu_attributes] добавить в поле "classes" класс colorbox-node, то выводится модальное окошко колорбокса, но задача состоит в выводе обычного окна фиксированного размера без меню и прочих элементов.

2 июля 2012 в 22:25

В этом случае лучше Ваш способ, однако придется избавиться от меню и прочего, путем создания шаблона страницы для Вашего типа материала(можно необязательно типа) и чистки его от всего "лишнего".

2 июля 2012 в 22:52

sg85, большое спасибо за помощь. Проблему удалось решить с помощью стороннего модуля menu_additional_attributes, который позволяет добавить событие onClick.
Сам модуль есть тут http://galanov.net/blog/gairon/dopolnenie-k-drupal-modulyu-menu-attribut...

2 июля 2012 в 23:07

"puhur01" wrote:
но задача состоит в выводе обычного окна фиксированного размера без меню и прочих элементов

то-ли я тупой,
то-ли ТС заблудился....

всплывает в новом слое кусок контента(нода, вьюс, форма)
грубо говоря вывести в него можно все что душа пожелает и как пожелает
темизировать его как угодно
(см. sites/all/modules/colorbox примеры стилей)
чего еще не хватает?

p.s.
$("#main-menu-links").click();
навесили и дальше че?
если хочешь поработать - ляг поспи, и все пройдет)))))))))

2 июля 2012 в 23:27

"multpix" wrote:
всплывает в новом слое кусок контента(нода, вьюс, форма)
грубо говоря вывести в него можно все что душа пожелает и как пожелает

так в этом и есть смысл colorbox node

2 июля 2012 в 23:27

"drupby" wrote:
так в этом и есть смысл colorbox node

и я о том же,
имхо ТС усложняет себе жизнь придумывая иное решение своей задачи

2 июля 2012 в 23:44

Да, ТС ужасно запутался Smile
Напишите, пожалуйста, как вывести окно по по типу окна, которое выводится скриптом
window.open("info.php", "", "width=400, heigth=450, resizable=no");
Желательно с атрибутом href=# (т.е. чтобы окно открывалось по нажатию на ссылку в меню, но переход с текущей страницы чтобы не происходил при этом).

3 июля 2012 в 0:36