滚动
          
        D7中的目录,使用分类法术语的同义词作为参数
论坛
              
          我有一个问题:我正在使用Drupal Commerce创建商品目录,就像这个商店一样 http://czech-cristal.ru。也就是说,我创建了一个名为“商品类别”的分类词汇,里面包含所需商品的名称,其中“所有商品类别路径的模式”形成了catalog/[term:name],当然基于这个词汇我相应地创建了一个菜单,链接到Views(路径catalog/%)并传递参数。
我需要确保链接的格式确实是catalog/[term:name],就像在http://czech-cristal.ru上那样。
接下来,我遇到了一些问题,我填充了分类术语,菜单出现了链接catalog/obuv-timberland和catalog/novyy-termin。我做了
Views,URL为catalog/%,设置了上下文过滤器为“内容:具有分类术语ID(深度)”,在验证标准中选择了PHP代码,并在代码中写下以下内容:
$url = drupal_lookup_path('source', "catalog/".$argument);
if ($url != false)
{
  // 如果找到路径,检查这是否是分类术语的路径
  //
  $term_base_path = 'taxonomy/term/';
  if (strncmp($term_base_path, $url, strlen($term_base_path)) == 0)
  {
    // 剪切前缀'taxonomy/term/',将剩余值转换为数字
    // 并用获得的分类术语ID替换视图的参数
    //
    $handler->argument = intval(str_replace($term_base_path, '', $url));
  }
}
return TRUE;
所以在Views中一切都正确显示,正如预期的那样。根据术语显示所需的商品(截图1)。我的问题在于,在网站上,地址catalog/obuv-timberland和catalog/novyy-termin显示的不是在Views预览中的内容,而是与这些分类术语关联的材料(截图2)。请问如何才能让网站上也显示与Views预览中相同的商品?