I have noticed that when creating a new page or story, there is an option about giving author's name. But it makes it mandatory that the author should be registered at that site.

Many sites receive articles from different people. The articles are usually sent to the webmaster or editor and the author is not registered at the site. The articles are actually posted by the admin but authored by someone else. How can the real author name be reflected in such cases, instead of the admin name?

Comments

DaraghOB’s picture

One possible solution (and there are many) to your issue (which allows you to include a biographical note for the author linked to from the node, and which supports multiple authors on an article), is as follows:

**Caveat- I'm writing this from memory and don't have access to my sandbox site at the moment so I might miss a step or two along the way... but it should get you pointed in the right direction**

Modules required: CCK (see the CCK module for details of how to install this module.
Optional Module: Node Referrer (see below for details)

1) create a content type called "Author Bio" (or similar). For now, just have the title and body fields included.
2) Create a biography for your author
3) In your article/page/story content type, click on manage fields and add a node reference field type with either a select list or autocomplete widget type. Call this field "Written By" or something similar... it really doesn't matter.
4)Save your content type.
5) Under the "Display Fields" tab, select to have the field label for this content type hidden.
6) Create a field Group called "Written By" and put the "Written by" field you have just created into it (in Drupal 6 you can do this by dragging the field below and to the right of the field group name on the fields list). Move the field group to just below your title field.
7) Save your content type again.
8) In your theme settings turn off the "author" setting for that content type so it doesn't appear at the top of the node.

When people view the node, they will (depending on your theme to a great extent) see a section just below the title where a list of authors (one on each line) is presented, with the author name linking to the biographical note node for that author.

If you have the Node Referrer module installed (a Drupal 6 version is available in HEAD but not yet published on the project page as a beta or production version, so you may not want to use it on a production site (I'm using it on one project and it seems to be working fine) you can then create a 'node referrer' field in your Author Bio content type to see all articles written by that Author listed below their short biography (basically it sets up a relationship that shows all nodes that refer to that node).

You can also set up different node reference fields for different types of content or to views, so you can include more than one node reference field (e.g. to related content or blogs). You can even include a node reference to a user profile from the Author biography so you should be able to link from that node to the Drupal User profile if the author has one and include that link on the author biography page (e.g. a "Click here for a more detailed profile..." link.)

Another bonus from this approach is you can create a view of your "Authors" and include it on your site as a page if you want to highlight the authors who contribute content to your site.

Hope this 'recipe' helps....

doctorb’s picture

Great! This looks very workable. I'll start implementing it.

One more query - Is it possible to display author's photo right alongside the Article title or somewhere close to it?

yorryk’s picture

Good day,

I posted the same thing under another topic - but I need a solution so I look for related postings.
Is it possible to do this without node referer module?
My situation:
I use drupal 6.10, views2 and cck.
I try to setup a pretty simple site. Just 2 content types: article and author.
Author is different from user - in fact I am the only user, but there are multiple authors.
In 'author' content type I have author's name field named 'author_name'.
Then I have 2 views: author_profile and list_of_authors.
In 'article' content type I have 'author_name' field as node reference and I use 'list_of_authors' view to select an author of this particular article.
So I have a front page - a list of articles. Every article has a title, a body and an author.
If I click an author it gets me to a page of this author. If displays author's name and some bio information.
Now that's where problem starts.
I want to put under a block which displays list of articles of this autor /just article titles/.
Seems simple but it's beyond me. After tons of googling and reading and hours of experimenting /some of them completely wild/ the best I can do is display of all articles of all authors.
In detail:
I have a view called 'author_profile'.
Display is default and block.
In filters:
node: type=article.
In relationship:
Content: author_name - (field_author_name)
In arguments:
Content: author_name - (field_author_name)
use relationship author_name
In fields:
Node title.
All of this gives me exactly what I want in live preview provided I put argument /say "Smith'/ inside.
The block has a name: author_articles
I can manage to display this block just only where I want - on authors page.
What I can't do: I don't know how to display only articles of presented author. /As said it displays all articles of all authors/
I need to convince drupal that is should take an argument to this block from a field above called author_name.
Probably in view, in validator php code I need something similar to:
$argument=field_author_name_value
but my expertise on this is very low. Any other direction of solution is welcome but autopath is exluded.
Anyone can offer an advise?

Yorr

PS Excuse my basic english.

hrpo’s picture

Did you manage to fix it?