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

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

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

Комментарии

Аватар пользователя puhur01 puhur01 2 июля 2012 в 19:49

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

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

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

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

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

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

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

Аватар пользователя sg85 sg85 2 июля 2012 в 20:57

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

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

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

Аватар пользователя puhur01 puhur01 2 июля 2012 в 22:07

Ну как прикрепить его к ссылкам - это понятно. А как прикрепить его к ссылке в меню?

Аватар пользователя sg85 sg85 2 июля 2012 в 22:12

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

Аватар пользователя puhur01 puhur01 2 июля 2012 в 22:16

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

Аватар пользователя puhur01 puhur01 2 июля 2012 в 22:25

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

Аватар пользователя sg85 sg85 2 июля 2012 в 22:52

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

Аватар пользователя puhur01 puhur01 2 июля 2012 в 23:07

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

Аватар пользователя multpix multpix 2 июля 2012 в 23:27

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

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

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

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

Аватар пользователя drupby drupby 2 июля 2012 в 23:27

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

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

Аватар пользователя multpix multpix 2 июля 2012 в 23:44

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

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

Аватар пользователя puhur01 puhur01 3 июля 2012 в 0:36

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