I have an eva view with a list of Educations attached to an entity of type Organization. So the URL for viewing the organization page would be example.com/redhen/org/12345. I have exposed filters on the Education eva view. When the form from the exposed filter is submitted, the page is refreshed with the correct results but the url becomes example.com/redhen/org/12345/12345. And each additional submission of the exposed filter appends another 12345 to the end of the url.

Is there something I could be doing wrong?

Thanks,
Mickey

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

bisonbleu’s picture

I'm have the same issue. In addition, the alias is lost.

For example:
- initial URL: mysite.com/teachers
- filter list on 'Math': mysite.com/node/29?tid_1=12
- filter list on 'Any': mysite.com/node/29/29?tid_1=All
- filter list on 'English': mysite.com/node/29/29/29?tid_1=9

and so on :-?
not pretty :-/
awesome module : )

lchang’s picture

Issue summary: View changes
Status: Active » Needs review
FileSize
1.2 KB

In the "eva_plugin_display_entity.inc", the "override_path" is set to "$_GET['q']" and the "get_path()" returns an absolute link. I'm not sure what the reason is.

The attachment is a patch.

geek-merlin’s picture

Issue tags: +Novice

The code looks reasonable, but i'm not too deep into these path issue.

Novice task: reproduce the problem, check the patch fixes it and creates no new path issue; set RTBC.

geek-merlin’s picture

Status: Needs review » Needs work
  1. +++ b/eva_plugin_display_entity.inc
    @@ -282,8 +282,7 @@ class eva_plugin_display_entity extends views_plugin_display {
    -        $uri['options']['absolute'] = TRUE;
    -        return url($uri['path'], $uri['options']);
    +        return $uri['path'];
    

    Why throw the options away?

  2. +++ b/eva_plugin_display_entity.inc
    @@ -293,12 +292,6 @@ class eva_plugin_display_entity extends views_plugin_display {
    -    // Prior to this being called, the $view should already be set to this
    -    // display, and arguments should be set on the view.
    -    if (!isset($this->view->override_path)) {
    -      $this->view->override_path = $_GET['q'];
    -    }
    -
         $data = $this->view->render();
    

    This looks like an ad-hoc hack. We need some thorough analysis why the problem happens and a patch that will not break other stuff.