В друпал6 модуль openid входит в ядро.
На форме входа появляется доп. ссылка - вы щёлкаете и, вместо логина/пароля, видите поле для ввода OpenID.
Всё это делается без перезагрузки страницы - AJAX.
Но ссылка, которая используется (перехода по ней нет) имеет кривой вид типа: drupalcookbook.ru/%23
Поисковики как-то её нашли (в блоке нашли - страница user/login запрещена в robots.txt) и ругаются, что она не работает.
Чинится это так:
Открыть файл /modules/openid/openid.module
Найти функцию function openid_form_alter(&$form, $form_state, $form_id)
В ней изменить код:
<?php
// 'data' => l(t('Log in using OpenID'), '#'),
//Start
'data' => l(t('Log in using OpenID'), ''),
//End
'class' => 'openid-link',
);
$items[] = array(
// 'data' => l(t('Cancel OpenID login'), '#'),
//Start
'data' => l(t('Cancel OpenID login'), ''),
//End
?>
Теперь это будет ссылка на главную - по крайней мере это рабочая ссылка.
Пробовал исправить, чтобы не было преобразования символа '#' - не получилось почему-то..
В друпал6, кстати, формат функции l() поменялся - теперь только 3 аргумента принимает.
PS
На друпал.орг не писал - сайт недоступен продолжительное время...
Комментарии
можно еще так
l(t('Cancel OpenID login'), '#',array('html' => true))
Насколько я понимаю, "html" относится к тексту ссылки, а не к адресу...
о, да, пардон, протупил
- так не работает.
у меня 5 друпал.
ошибку .../?q=%23 у нашел только на ХРОМЕ
на других работает.
а как в 5 изменить?
function openid_form_alter($form_id, &$form) {
if ($form_id == 'user_login_block' || $form_id == 'user_login') {
drupal_add_css(drupal_get_path('module', 'openid') .'/openid.css', 'module');
drupal_add_js(drupal_get_path('module', 'openid') .'/openid.js');
if (!empty($form['#post']['openid_url'])) {
$form['name']['#required'] = FALSE;
$form['pass']['#required'] = FALSE;
unset($form['#submit']);
$form['#validate'] = array('openid_login_validate' => array());
}
$form['openid_link'] = array('#value' => l(t('Log in using OpenID'), '#', array('class' => 'openid-link')));
$form['user_link'] = array('#value' => l(t('Cancel OpenID login'), '#', array('class' => 'user-link')));
/а сейчас вообще окошко пропало![Sad](https://drupal.ru/sites/all/modules/contrib/smiley/packs/kolobok/sad.gif)