Create an account

Very important

  • To access the important data of the forums, you must be active in each forum and especially in the leaks and database leaks section, send data and after sending the data and activity, data and important content will be opened and visible for you.
  • You will only see chat messages from people who are at or below your level.
  • More than 500,000 database leaks and millions of account leaks are waiting for you, so access and view with more activity.
  • Many important data are inactive and inaccessible for you, so open them with activity. (This will be done automatically)


Thread Rating:
  • 299 Vote(s) - 3.6 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Drupal Views exposed filter of Author name as a drop down

#1
This is a follow up question to

[To see links please register here]

. The following question was answered and works. I can filter a view by user name. The user name is entered is entered by typing in a box and the box then auto completes. Rather then doing this I would like the list of users as a drop down. I only need one user to be selected. Do you know if this is possible?
Reply

#2
Yes, this is possible. Its not particularly tough to do this... but its slightly tedious. You need to create two views

1. The first view is a list of users on your system (a View of type `Users`). This user list is displayed as a dropdown instead of a list (using jump menu view style). Clicking on any user within this dropdown will call the second view with the uid (user id) of the selected user as the argument in the URL. This view is a block.
2. The second view is a simple Node listing. It is a page view at a particular URL. It takes 1 argument which is the uid (user id) of the user.

Detailed Steps

1. Download the Ctools module

[To see links please register here]

Enable the Chaos Tools Module. This
module provides a Views Style Plugin
called "Jump Menu"
2. Create a new view of type `Users` and NOT type `Node` which you usually
create. In the fields add `User:
Name` and `User: uid`. For the
settings of `User: uid`, make sure
you click on `Rewrite the output of
the field`. The rewritten output of
the field should be
`my_node_list/[uid]`. Make sure you
select the `exclude from display` checkbox.
3. In the settings for `Style` in the view, select the `Jump Menu` style. Click on the settings for the style. Make sure the `Path` dropdown has `User: uid` choosen
4. Add a block display to the view. Name the block `User Drop Down`
5. Save the view
6. Add the block `User Drop Down` to any region in your theme e.g. Content Top (usually the best) or left sidebar. Make sure the block is only visible at the urls `my_node_list/*` and `my_node_list` by setting the block visibility settings
7. Now create another view of type `Node`. Add an argument field `User: uid`. Add the fields you are interested in e.g. `Node: title`, `User: Name` etc.
8. Add a page display. Let the page be at the url `my_node_list`
9. Save the view. Test the dropdown with its list of users on the system at `http://yoursitename/my_node_list`
Reply

#3

[To see links please register here]

Check this one
Reply

#4
I think you just have to choose "Taxonomy:term The taxonomy term ID" instead of "name".
Reply

#5
You'll need a custom module for that.

I've done this for Drupal 7 this way: create a module, say, `views_more_filters`, so you have a `views_more_filters.info` file like this:

name = Views More Filters
description = Additional filters for Views.
core = 7.x

files[] = views_more_filters_handler_filter_author_select.inc
files[] = views_more_filters.views.inc
(file `views_more_filters_handler_filter_author_select.inc` will contain our filter handler).

A basic `views_more_filters.module` file:

<?php
/**
* Implements of hook_views_api().
*/
function views_more_filters_views_api() {
return array('api' => 3);
}

Then define your filter in `views_more_filters.views.inc`:

<?php
/**
* Implements of hook_views_data().
*/
function views_more_filters_views_data() {
return array(
'node' => array(
'author_select' => array(
'group' => t('Content'),
'title' => t('Author UID (select list)'),
'help' => t('Filter by author, choosing from dropdown list.'),
'filter' => array('handler' => 'views_more_filters_handler_filter_author_select'),
'real field' => 'uid',
)
)
);
}

Note that we set `author_select` as a machine name of the filter, defined filter handler (`'handler' => 'views_more_filters_handler_filter_author_select'`) and a field we will filter by (`'real field' => 'uid'`).

Now we need to implement our filter handler. As our filter functions just like default `views_handler_filter_in_operator`, we simply extend its class in `views_more_filters_handler_filter_author_select.inc` file:

<?php
/**
* My custom filter handler
*/
class views_more_filters_handler_filter_author_select extends views_handler_filter_in_operator {

/**
* Override parent get_value_options() function.
*
* @return
* Return the stored values in $this->value_options if someone expects it.
*/
function get_value_options() {
$users_list = entity_load('user');

foreach ($users_list as $user) {
$users[$user->uid] = $user->name;
}

// We don't need Guest user here, so remove it.
unset($users[0]);

// Sort by username.
natsort($users);

$this->value_options = $users;

return $users;
}
}

We haven't had to do much here: just populate options array with a list of our users, the rest is handled by parent class.

For further info see:

- [Views API](

[To see links please register here]

)
- [Where can I learn about how to create a custom exposed filter for Views 3 and D7?](

[To see links please register here]

) on Drupal Answers
- [Demystifying Views API - A developer's guide to integrating with Views](

[To see links please register here]

)
- [Sophisticated Views filters, part2 - writing custom filter handler (in Russian, link to Google translator)](

[To see links please register here]

)
- [Tutorial: Creating Custom Filters in Views](

[To see links please register here]

)
Reply

#6
Found a simple solution here.

[To see links please register here]

Reply



Forum Jump:


Users browsing this thread:
1 Guest(s)

©0Day  2016 - 2023 | All Rights Reserved.  Made with    for the community. Connected through