Code detecting if current request is for a view in

_nodewords_detect_type_and_ids()

does not detect views which have arguments in path ("%" placeholders) as the request path has to match exactly the view path:

      $display_options = unserialize($view->display_options);
      $pos = strpos($_GET['q'], $display_options['path']);
      if ($pos === 0) {
        return array('type' => 'views', 'ids' => array($view->vid));
      }

Attached patch fix the bug.

CommentFileSizeAuthor
#2 viewpatch2.patch1.12 KBmarpic
viewpatch.patch959 bytesmarpic

Comments

avpaderno’s picture

Title: Views with arguments in path not detected correctly » Views with arguments in path are not detected correctly
Status: Patch (to be ported) » Postponed

It's more probable that the Views support will be replaced with a generic path support.

marpic’s picture

StatusFileSize
new1.12 KB

I think this might be a better solution.

Probably you are talking about more comprehensive solution in any case I attach another, better patch, that take into consideration the menu/path system.

avpaderno’s picture

The proposed patch doesn't apply to the development snapshot code, which is used to create the next official release.

I still think that a generic support for page meta tags is preferable, as it would also re-add the support for Panels without to write specific code that should be modified all times the Panels code is changed.

avpaderno’s picture

Status: Postponed » Closed (duplicate)

See #538630: _nodewords_detect_type_and_ids + views + wildcard arguments in view = broken for an explanation why this happens; as reported in that issue, the development snapshot uses different code that doesn't causes the problem.

I am setting this report as duplicated of #538630: _nodewords_detect_type_and_ids + views + wildcard arguments in view = broken.