Не путайте реальное имя и имя пользователя. В друпал по умолчанию все неавторизованные пользователи - гости.
Вы можете в шаблоне заменить вывод имени пользователя на то, что вам оставили в поле "name"
Для начала:
Structure -> Content types -> Edit на нужном типе контента -> Comment settings
В поле Anonymous commenting ставим значение Anonymous must leave their contact information
Затем в шаблоне комментария: <?php print($comment->name); ?>
Еще момент. Что если автор будет авторизованным юзером? Как правило, имя юзера выводится в виде ссылки на его профиль. Это можно решить след. функией в template.php:
<?php function mytheme_username($object) {
if ($object->uid && $object->name) { if (drupal_strlen($object->name) > 20) { $name = drupal_substr($object->name, 0, 15) .'...'; } else { $name = $object->name; } if (user_access('access user profiles')) { $output = l($name, 'user/'. $object->uid, array('title' => t('View user profile.'))); } else { $output = check_plain($name); } } else if ($object->name) { // Sometimes modules display content composed by people who are // not registered members of the site (e.g. mailing list or news // aggregator modules). This clause enables modules to display // the true author of the content. if ($object->homepage) { $output = l($object->name, $object->homepage); } else { $output = check_plain($object->name); }
Комментарии
Не путайте реальное имя и имя пользователя. В друпал по умолчанию все неавторизованные пользователи - гости.
Вы можете в шаблоне заменить вывод имени пользователя на то, что вам оставили в поле "name"
Да, я это уже понял, спасибо.
Осталось понять как выводить поле имени комментария.
Точнее, в чистой теме это показывается, а в той, которую уже "использовал" не могу найти, где это поломал.
Выяснил, что это Antispam модуль так себя ведет. Без него комментарии подписываются именами корректно.
Для начала:
Structure -> Content types -> Edit на нужном типе контента -> Comment settings
В поле Anonymous commenting ставим значение Anonymous must leave their contact information
Затем в шаблоне комментария:
<?php print($comment->name); ?>
Спасибо, буду знать.
В моём случае это модуль Antispam вырезал имена. Dev версия решила проблему.
Кстати о спаме. Разрешая анонимам комментировать - готовьтесь! Если комменты не нужны в индексе можно использовать Discqus, Gravatar и др.
Еще момент. Что если автор будет авторизованным юзером? Как правило, имя юзера выводится в виде ссылки на его профиль. Это можно решить след. функией в template.php:
<?php
function mytheme_username($object) {
if ($object->uid && $object->name) {
if (drupal_strlen($object->name) > 20) {
$name = drupal_substr($object->name, 0, 15) .'...';
}
else {
$name = $object->name;
}
if (user_access('access user profiles')) {
$output = l($name, 'user/'. $object->uid, array('title' => t('View user profile.')));
}
else {
$output = check_plain($name);
}
}
else if ($object->name) {
// Sometimes modules display content composed by people who are
// not registered members of the site (e.g. mailing list or news
// aggregator modules). This clause enables modules to display
// the true author of the content.
if ($object->homepage) {
$output = l($object->name, $object->homepage);
}
else {
$output = check_plain($object->name);
}
//$output .= ' ('. t('not verified') .')';
}
else {
$output = variable_get('anonymous', t('Anonymous'));
}
return $output;
}
?>