Letzter Author
Eingetragen von byronic (195)
am 09.02.2008 - 03:04 Uhr in
am 09.02.2008 - 03:04 Uhr in
Ich habe einige Felder mit CCK erstellt und sie mit Views zusammengefasst. Jetzt suche ich die Möglichkeit auch auf den Letzte Author zu zugreifen, denn ich möchte anzeigen lassen, wer eine Node zuletzt bearbeitet hat.
- Anmelden oder Registrieren um Kommentare zu schreiben
Re: Letzter Author
am 09.02.2008 - 04:24 Uhr
ich möchte anzeigen lassen, wer eine Node zuletzt bearbeitet hat.
Soeben zusammengestöpselt:
Neuen Ordener
views_last_editor
anlegen. Dort eine Dateiviews_last_editor.info
anlegen; mit folgendem Inhalt:; $Id: $
name = Views Last Editor
description = Makes the last user who edited a node available to the Views module
package = Views
dependencies = views
Ebenfalls in dem Verzeichnis eine Datei
views_last_editor.module
mit folgendem Inhalt anlegen:<?php
function views_last_editor_views_tables() {
$tables['node_revisions'] = array(
'name' => 'node_revisions',
'join' => array(
'type' => 'inner',
'left' => array(
'table' => 'node',
'field' => 'vid'
),
'right' => array(
'field' => 'vid'
),
),
);
$tables['users'] = array(
'name' => 'users',
'join' => array(
'type' => 'inner',
'left' => array(
'table' => 'node_revisions',
'field' => 'uid'
),
'right' => array(
'field' => 'uid'
),
),
'fields' => array(
'name' => array(
'name' => t('Node: Last Editor'),
'handler' => 'views_handler_field_username',
'sortable' => true,
'uid' => 'uid',
'addlfields' => array('uid'),
'help' => t('This will display the last editor of the node.'),
),
'uid' => array(
'name' => t('User: Last Editor Picture'),
'handler' => 'views_handler_field_userpic',
'sortable' => false,
'help' => t('Display the user picture of the author.'),
),
),
'sorts' => array(
'name' => array(
'name' => t('Node: Last Editor'),
'help' => t('This allows you to sort alphabetically by author.'),
)
),
'filters' => array(
'uid' => array(
'name' => t('Node: Last Editor'),
'operator' => 'views_handler_operator_or',
'list' => 'views_handler_filter_username',
'value-type' => 'array',
'help' => t('This allows you to filter by a particular editor. You might not find this useful if you have a lot of users.'),
),
)
);
// Get the list of non-default user roles indexed by rid.
$user_roles = user_roles(TRUE);
unset($user_roles[DRUPAL_AUTHENTICATED_RID]);
foreach ($user_roles as $rid => $name) {
$tables["users_role_$rid"] = array(
'name' => 'users',
'join' => array(
'left' => array(
'table' => 'node_revisions',
'field' => 'uid'
),
'right' => array(
'field' => 'uid'
),
),
'filters' => array(
'uid' => array(
'name' => t('Node: Editors in role %role-name', array('%role-name' => $name)),
'list' => 'views_handler_filter_username',
'value-type' => 'array',
'operator' => 'views_handler_operator_or',
'rid' => $rid,
'help' => t("Only users in role %role-name will appear in the select box for this filter.", array('%role-name' => theme('placeholder', $name))),
),
)
);
}
$tables['users_roles'] = array(
'name' => 'users_roles',
'join' => array(
'left' => array(
'table' => 'node_revisions',
'field' => 'uid'
),
'right' => array(
'field' => 'uid'
),
),
'filters' => array(
'rid' => array(
'name' => t('Role: Last Editor Role'),
'operator' => 'views_handler_operator_andor',
'list' => 'views_handler_filter_role',
'handler' => 'views_handler_filter_role_custom',
'value-type' => 'array',
'help' => t('Include the node only if the last editor is a member of the selected role.'),
),
)
);
return $tables;
}
?>
Verzeichnis in dein Modulverzeichnis verschieben, Modul "Views Last Editor" aktivieren.
--
Danke, klapt super. Gibts
am 09.02.2008 - 10:47 Uhr
Danke, klapt super. Gibts denn auch die möglichkeit auf das Feld innerhalb einer Node Ansicht zuzugreifen? Z.B. als neues CCK Feld?
Re: Danke, klapt super. Gibts
am 09.02.2008 - 14:17 Uhr
Danke, klapt super.
Ich hab's mal veröffentlicht: http://drupal.org/project/views_last_editor
... innerhalb einer Node Ansicht zuzugreifen? Z.B. als neues CCK Feld?
Mit biegen und brechen:
--