具有多个作者的Drupal7节点

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了具有多个作者的Drupal7节点相关的知识,希望对你有一定的参考价值。

I have to migrate from my old Drupal 5 site, that had multiple authors assigned to one node, and this is the solution for __Drupal 7__.
First of all you will need to download [__References__](http://drupal.org/project/references) module and enable __User Reference__.
Then go to your module (*sites\all\modules\\references\\*) and edit file *user\_reference\user\_reference.module* at line number __481__ as it has an error.
Change line: *$query->condition($user\_uid\_alias, $ids, 'IN', $ids);*
to this: *$query->condition("u.$user\_uid\_alias", $ids, 'IN', $ids);*
Now go to your theme, and edit __template.php__ file adding this lines.
  1. function MYTHEME_preprocess_node(&$vars, $hook) {
  2. if (isset($vars['field_author']['und']) && is_array($vars['field_author']['und'])) {
  3. $vars['submitted'] = t('Submitted by !username on @datetime', array(
  4. '!username' => MYTHEME_article_authors($vars['field_author']['und']),
  5. '@datetime' => date("Y-m-d H:i:s", $vars['created']) ));
  6. } else {
  7. $vars['submitted'] = t('Submitted by !username on @datetime', array(
  8. '!username' => t('Anonymous'),
  9. '@datetime' => date("Y-m-d H:i:s", $vars['created']) ));
  10. }
  11. }
  12.  
  13. function MYTHEME_article_authors($uids) {
  14. $authors = array();
  15. if (count($uids)) {
  16. foreach($uids as $author) {
  17. $user = user_load($author['uid']);
  18. if ($user->uid) {
  19. $authors[] = l($user->name, 'user/' . $user->uid);
  20. }
  21. }
  22. }
  23. if (count($authors) > 1) {
  24. return implode(', ', $authors);
  25. }
  26. if (count($authors == 1)) {
  27. return $authors[0];
  28. }
  29. return t('Anonymous');
  30. }

以上是关于具有多个作者的Drupal7节点的主要内容,如果未能解决你的问题,请参考以下文章

Drupal 7 视图显示具有相同分类术语的节点

如何在Drupal7中用代码批量创建节点评论和分类

在 Drupal 7/Views 3 中创建相似节点列表

Drupal 7:具有多个搜索词的搜索视图

具有多个 backstack 的片段

drupal7 - 使用 ajax(jquery) 加载节点