Чтобы вставить виджет юлогина в произвольное место, нужно сначала понять, что это за место. Модуль поддерживает вставку виджета только как элемента формы, созданной через Forms API Друпала.
Поэтому, если вам нужно вставить его в уже существующую форму, то нужно реализовать hook_form_alter() или hook_form_FORM_ID_alter(), что и делает модуль юлогина с 4мя стандартными формами друпала (при соответствующих настройках). В этих хуках нужно добавить элемент формы, используя '#type' => 'ulogin_widget'. (для примера - смотрите листинг кода тут, строки 130-152: http://drupalcode.org/project/ulogin.git/blob/refs/heads/7.x-1.x:/ulogin...).
Если же там, где вы его хотите увидеть, формы нет - нужно её создать, опять-таки добавив туда элемент с '#type' => 'ulogin_widget', пример также доступен в самом модуле юлогина: http://drupalcode.org/project/ulogin.git/blob/refs/heads/7.x-1.x:/ulogin... - смотрите функцию ulogin_user_identity(), строки 140-147 добавляют виджет юлогина.
я бы еще упомянул тогда про
#ulogin_providers
#ulogin_hidden
а вот про
#ulogin_display ,#ulogin_optional ,#ulogin_destination ,#ulogin_redirect интересно , где узнать возможные значения ?
Есть ещё один способ (и, наверняка, можно найти и ещё несколько) заставить виджет появиться на сайте, уже не в составе формы. Можно напрямую отрендерить только его и вывести на печать в шаблоне. Выглядеть это будет примерно так:
drupby,
Простите мне моё любопытство, а оно вам надо?
Простите , но вопроса Вашего не понял ?
Да и негоже отвечать вопросом на вопрос ?
Если у вашего элемента формы есть какие то параметры дополнительные ,
то вполне резонное желание услышать про них поподробнее.
Ну к примеру destination и redirect вроде как понятно ,а
#ulogin_display ,#ulogin_optional можно и поподробнее.
Я просто перешел на /devel/elements и в ulogin_widget увидел параметры , о которых приходится только догадываться .
А к сожалению в Form API их нету(даже вот и не знаю почему ,как и элемента ,что и естественно .
Ещё раз извиняюсь, я позволил себе отредактировать мой комментарий выше, когда вашего ещё не было (он появился как раз когда я находился в процессе правки, простите, не хотел).
"drupby" wrote:
Простите , но вопроса Вашего не понял ?
...
Если у вашего элемента формы есть какие то параметры дополнительные ,
то вполне резонное желание услышать про них поподробнее.
Объясняю - вопрос подразумевал, что я хочу понять, зачем вам знать про допустимые значения этих параметров. "Зачем" в смысле как вы их собираетесь использовать... Человек же существо разумное, не все свои _желания_ наружу выпускающее (поясню - не бегущее в туалет по первому позыву, не бросающееся на симпотичных девушек на улице, и тд.). Применительно к нашей ситуации - если вы не разработчик, то вам лучше ничего не знать про эти магические штуки (ибо если вы узнаете, то потом жизни не дадите нормальным пацанам, будете флудить на форумах, что вот есть такие клевые штуки, заваливать новичков неквалифицированными советами, как случилось выше с drupal_render и drupal_get_form); если разработчик - то вы и сами сможете понять, что эти параметры значат и для чего нужны.
Ещё раз извините, если оскорбил вас своим интересом к вашим желаниям.
"drupby" wrote:
Да и негоже отвечать вопросом на вопрос ?
Ремарку про негожесть я бы не направлял в мою сторону. Негоже советовать людям, ищущим ответа, решения, которые и близко им не помогут. Если же вы думаете, что вежливые люди, как мы с вами, не должны позволять себе задавать друг другу встречные вопросы, то как же нам общаться?
"drupby" wrote:
Ну к примеру destination и redirect вроде как понятно
Не стоит так делать... так рождаются мифы и "непонятные" глюки, влекущие за собой "магические" фиксы и искажающие реальную картину мира. Смотрите в код, если вам действительно нужно понять, что и как.
"drupby" wrote:
Я просто перешел на /devel/elements и в ulogin_widget увидел параметры , о которых приходится только догадываться .
Закройте и больше не переходите.
"drupby" wrote:
А к сожалению в Form API их нету(даже вот и не знаю почему ,как и элемента ,что и естественно .
Сарказм засчитан
Давайте закончим эту ни к чему не ведущую дискуссию. Благо на изначальный вопрос ответ уже был дан.
Комментарии
спасибо, но при такой вставке сайт вообще падает
а drupal_get_form ?
drupby, объясните пожалуйста для тех кто в танке
<?php print drupal_render(drupal_get_form('ulogin')) ;?>
как то така вообще проще спросить здесь у автора модуля http://www.drupal.ru/node/78145
"Пацаны ваще ребята" (с)
Чтобы вставить виджет юлогина в произвольное место, нужно сначала понять, что это за место. Модуль поддерживает вставку виджета только как элемента формы, созданной через Forms API Друпала.
Поэтому, если вам нужно вставить его в уже существующую форму, то нужно реализовать hook_form_alter() или hook_form_FORM_ID_alter(), что и делает модуль юлогина с 4мя стандартными формами друпала (при соответствующих настройках). В этих хуках нужно добавить элемент формы, используя '#type' => 'ulogin_widget'. (для примера - смотрите листинг кода тут, строки 130-152: http://drupalcode.org/project/ulogin.git/blob/refs/heads/7.x-1.x:/ulogin...).
Если же там, где вы его хотите увидеть, формы нет - нужно её создать, опять-таки добавив туда элемент с '#type' => 'ulogin_widget', пример также доступен в самом модуле юлогина: http://drupalcode.org/project/ulogin.git/blob/refs/heads/7.x-1.x:/ulogin... - смотрите функцию ulogin_user_identity(), строки 140-147 добавляют виджет юлогина.
я бы еще упомянул тогда про
#ulogin_providers
#ulogin_hidden
а вот про
#ulogin_display ,#ulogin_optional ,#ulogin_destination ,#ulogin_redirect интересно , где узнать возможные значения ?
drupby,
Простите мне моё любопытство, а оно вам надо? Хотя... может быть и надо Ну а если надо - посмотрите форму настроек модуля: http://drupalcode.org/project/ulogin.git/blob/refs/heads/7.x-1.x:/ulogin...
Есть ещё один способ (и, наверняка, можно найти и ещё несколько) заставить виджет появиться на сайте, уже не в составе формы. Можно напрямую отрендерить только его и вывести на печать в шаблоне. Выглядеть это будет примерно так:
<?php
$element_info = ulogin_element_info();
$element = $element_info['ulogin_widget'];
$element['#type'] = 'ulogin_widget';
print render($element);
?>
Простите , но вопроса Вашего не понял ?
Да и негоже отвечать вопросом на вопрос ?
Если у вашего элемента формы есть какие то параметры дополнительные ,
то вполне резонное желание услышать про них поподробнее.
Ну к примеру destination и redirect вроде как понятно ,а
#ulogin_display ,#ulogin_optional можно и поподробнее.
Я просто перешел на /devel/elements и в ulogin_widget увидел параметры , о которых приходится только догадываться .
А к сожалению в Form API их нету(даже вот и не знаю почему ,как и элемента ,что и естественно .
drupby,
Ещё раз извиняюсь, я позволил себе отредактировать мой комментарий выше, когда вашего ещё не было (он появился как раз когда я находился в процессе правки, простите, не хотел).
Объясняю - вопрос подразумевал, что я хочу понять, зачем вам знать про допустимые значения этих параметров. "Зачем" в смысле как вы их собираетесь использовать... Человек же существо разумное, не все свои _желания_ наружу выпускающее (поясню - не бегущее в туалет по первому позыву, не бросающееся на симпотичных девушек на улице, и тд.). Применительно к нашей ситуации - если вы не разработчик, то вам лучше ничего не знать про эти магические штуки (ибо если вы узнаете, то потом жизни не дадите нормальным пацанам, будете флудить на форумах, что вот есть такие клевые штуки, заваливать новичков неквалифицированными советами, как случилось выше с drupal_render и drupal_get_form); если разработчик - то вы и сами сможете понять, что эти параметры значат и для чего нужны.
Ещё раз извините, если оскорбил вас своим интересом к вашим желаниям.
Ремарку про негожесть я бы не направлял в мою сторону. Негоже советовать людям, ищущим ответа, решения, которые и близко им не помогут. Если же вы думаете, что вежливые люди, как мы с вами, не должны позволять себе задавать друг другу встречные вопросы, то как же нам общаться?
Не стоит так делать... так рождаются мифы и "непонятные" глюки, влекущие за собой "магические" фиксы и искажающие реальную картину мира. Смотрите в код, если вам действительно нужно понять, что и как.
Закройте и больше не переходите.
Сарказм засчитан
Давайте закончим эту ни к чему не ведущую дискуссию. Благо на изначальный вопрос ответ уже был дан.
Спасибо
использовала
<?php
$element_info = ulogin_element_info();
$element = $element_info['ulogin_widget'];
$element['#type'] = 'ulogin_widget';
print render($element);
?>
большое спасибо drupby
Закончим ,когда напишите readme.txt (к модулю естественно).
Не сочтите за наглость.
Добро пожаловать в ишью кью модуля И да, я принимаю патчи, хорошо написанные патчи.