Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Обсуждение общих технических вопросов > Общие вопросы

Ответ
 
Опции темы Опции просмотра
Старый 26.10.2011, 12:52   #1
Anlov
Senior Member
 
Регистрация: 02.05.2011
Сообщений: 138
По умолчанию Ссылка на сторонний сайт для отдельного пункта графического меню с передачей по POST

привет.
есть меню:
Код:
lib.topmenu = HMENU
lib.topmenu {
	special = list
	special.value = 90,91,92,93,94,96
           1 = GMENU
	1 {
		noBlur = 1
		No = 1
		NO {
			imgParams = width="32"
			imgParams = height="32"
			imgParams = border="0"
			altImgResource.import = uploads/media/
			altImgResource.import.field = media
			altImgResource.import.listNum = 0
			subst_elementUid = 1
			linkWrap = <div class="div_extra_menu_item">|</div>
		}
		ACT = 1
		ACT {
			imgParams = width="32"
			imgParams = height="32"
			imgParams = border="0"
			altImgResource.import = uploads/media/
			altImgResource.import.field = media
			altImgResource.import.listNum = 1
			subst_elementUid = 1
			linkWrap = <div class="div_extra_menu_item">|</div>
			doNotShowLink = 1
		}
	}
}
как мне на пункт меню 91 прикрутить ссылку на чужой сайт, с передачей по этой ссылке данных по POST? Нужно, чтобы пользователь, нажав на ссылку, попадал на другой сайт и автоматически там логинился.

Последний раз редактировалось Anlov; 26.10.2011 в 13:37
Anlov вне форума   Ответить с цитированием
Старый 26.10.2011, 13:14   #2
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

POST по ссылке? Прямо к сожалению никак, HTTP протокол такого не поддерживает.

Есть вариант POST через HTTP Redirect, но со своими минусами и заморочками.

http://stackoverflow.com/questions/4...instead-of-get
http://otvety.google.ru/otvety/threa...77c3a4ec5fc44c
dmartynenko вне форума   Ответить с цитированием
Старый 26.10.2011, 13:30   #3
Anlov
Senior Member
 
Регистрация: 02.05.2011
Сообщений: 138
По умолчанию

Цитата:
POST по ссылке? Прямо к сожалению никак, HTTP протокол такого не поддерживает.
это понятно. а если сделать именно эту картинку (этот пункт) в меню кнопкой формы, тогда можно бы было хоть что передать, а не только логин и пароль FE_user.
То есть на этот пункт меню надо повесить просто свой HTML код, насколько я сейчас это себе представляю. А как?
Anlov вне форума   Ответить с цитированием
Старый 26.10.2011, 13:52   #4
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Если вы на страниче сделаете скрытую форму, где в action=".." будет url стороннего сайта, а по JS на нажатие пункта меню будет обработчик onclick="my_hidden_form.submit(); return false;" то что-то может получиться. В полях скрытой формы добавите параметры логин, пароль и т.п.

Только, судя упоминаниям в интернете, при таком сабмите на сторонний сайт некоторые броузеры (например, Opera) могут выдавать окно предупреждения.

А специфический пункт меню можно разместить и без использования HMENU, например если он у вас 92 так:
Код:
lib.topmenu = COA
lib.topmenu.1 = HMENU
lib.topmenu.1 {
  special.value = 90,91
  ...
}
lib.topmenu.2 = HTML
lib.topmenu.2.value = хитрая ссылка
lib.topmenu.3 < lib.topmenu.1
lib.topmenu.3 {
  special.value = 93,94,96
}
dmartynenko вне форума   Ответить с цитированием
Старый 26.10.2011, 14:14   #5
Anlov
Senior Member
 
Регистрация: 02.05.2011
Сообщений: 138
По умолчанию

Цитата:
Если вы на страниче сделаете скрытую форму, где в action=".." будет url стороннего сайта, а по JS на нажатие пункта меню будет обработчик onclick="my_hidden_form.submit(); return false;" то что-то может получиться. В полях скрытой формы добавите параметры логин, пароль и т.п.

Только, судя упоминаниям в интернете, при таком сабмите на сторонний сайт некоторые броузеры (например, Opera) могут выдавать окно предупреждения.
- это тоже известно. Все дело как раз в том, что сразу по нажатию на одну из кнопок меню, которое состоит из картинок (GMENU), должен происходить редирект с передачей логина и пароля FE пользователя, без загрузки какой-либо другой страницы. Т.е. нажал - и, вуаля, ты на другом сайте и уже залогинился.

Цитата:
А специфический пункт меню можно разместить и без использования HMENU, например если он у вас 92 так:
Код:
Код:
lib.topmenu = COA
lib.topmenu.1 = HMENU
lib.topmenu.1 {
  special.value = 90,91
  ...
}
lib.topmenu.2 = HTML
lib.topmenu.2.value = хитрая ссылка
lib.topmenu.3 < lib.topmenu.1
lib.topmenu.3 {
  special.value = 93,94,96
}
не, нужны картинки...
Anlov вне форума   Ответить с цитированием
Старый 26.10.2011, 14:23   #6
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

И в чем вопрос? onclick работает и на <img> тоже, картинки можно завернуть в <a onclick="..."></a>

Если происходит submit формы, то пользователь сразу оказывается на странице указанной в action формы. Тут вообще нет редиректа, просто переход на указанный URL с передачей параметров формы.
dmartynenko вне форума   Ответить с цитированием
Старый 26.10.2011, 14:44   #7
Anlov
Senior Member
 
Регистрация: 02.05.2011
Сообщений: 138
По умолчанию

Сорри, вопрос в том, что я не знаю, как это сделать только для одной картинки-пункта меню из шести...
Как-то я тяжко сегодня объясняю...
Anlov вне форума   Ответить с цитированием
Старый 26.10.2011, 14:57   #8
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Как-то так:

Вариант 1:
В TS:
Код:
lib.topmenu.1.NO.linkWrap = <div class="div_extra_menu_item" id="menu-item-{elementUid}">|</div>
В JS, с использованием jQuery, XX заменить на ID нужной страницы:
Код:
$('#menu-item-XX a').click(function() {
  $('#my-hiddden-form').submit();
});
Вариант 2:
Разбить меню на три части через COA, одна из которых состоит из единственного нужного пункта меню. Добавить для нее
Код:
lib.topmenu.X.1.NO.ATagParams = onclick="..."
Если бы ATagParams имел stdWrap, то можно было бы добавить в него через TS условия.
dmartynenko вне форума   Ответить с цитированием
Старый 26.10.2011, 15:03   #9
Anlov
Senior Member
 
Регистрация: 02.05.2011
Сообщений: 138
По умолчанию

Спасибо, сейчас попробую.
Anlov вне форума   Ответить с цитированием
Старый 26.10.2011, 20:18   #10
Anlov
Senior Member
 
Регистрация: 02.05.2011
Сообщений: 138
По умолчанию

мдa, не выходит каменный цветок... а казалось, что все так просто.
подключаю javascript, прямо в шаблоне уже нарисовал форму.
по клику на менюшке совершается переход на страницу с id=91.
Anlov вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ссылка для отдельного пункта меню giovanno Общие вопросы 0 09.10.2008 20:41
Ссылка в двух местах пункта меню forever TypoScript практикум 2 19.09.2008 01:43
condition для отдельного пункта меню, сделанного с помощью gifbuilder wind TypoScript практикум 2 05.05.2008 12:45
Условие для отдельного пункта меню forever TypoScript практикум 6 28.03.2008 18:20
Меню с оригинальной версткой для каждого пункта Tod TypoScript практикум 6 22.05.2007 02:02


Часовой пояс GMT +4, время: 02:52.


Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot

Хостинг и техническая поддержка: TYPO3 Лаборатория