Questions tagged «views»

视图模块允许使用灵活的查询生成器创建实体列表。

4
使用View从另一个Drupal数据库加载节点
我正在尝试使用Views从另一个在settings.php中定义的Drupal数据库中加载节点,并使用'cms'键。这两个站点都是Drupal7。另一个数据库是一个不同的Drupal安装,它充当内容存储库或集中式CMS。我的目标是在目标站点上创建新的视图类型/组,因此,在创建视图时,站点构建可以选择“ CMS内容”而不是“内容”。我希望站点构建器能够正常地基于内容类型和集中式CMS站点中的内容来构建视图,即使我必须告知每种内容类型中所有字段的视图也是如此。 在我的hook_views_data()实现中,我设置了'database'键,但是在不覆盖$ data ['node']的情况下无法弄清楚如何从节点表中读取数据。 function cms_connector_views_data() { $data['cms_connector']['table']['group'] = t('CMS Content'); $data['cms_connector']['table']['base'] = array( 'field' => 'nid', 'title' => t('CMS Content'), 'help' => t('Content from the centralized CMS.'), 'database' => 'cms', ); return $data; } 当然,这不是在寻找节点表,而是cms_connector在我的cms数据库中寻找一个不存在的表。 SQLSTATE[42S02]: Base table or view not found: 1146 Table 'cms.cms_connector' doesn't exist http://views-help.doc.logrus.com/help/views/api-tables说$ …
12 7  views 

2
Views3和子查询?
我有一个视图,该视图生成执行多个联接的查询。这将产生笛卡尔连接,而我需要将连接“转换”为子查询。 我浏览了文档,Google搜索结果和其他来源,但是找不到关于如何配置Views进行子查询的任何恰当的描述。我已经使用hook_views_data()来配置关系(现在作为连接执行)。是否可以通过hook_views_data()定义子查询,还是我需要采取另一种方法? 任何建议表示赞赏!
12 views  database 

3
在Drupal 7的公开视图过滤器上使用hook_form_alter
我在使用hook_form_alter()Views 3和Drupal 7时遇到了一些麻烦。 我无法添加if语句来唯一标识视图;无论我输入什么内容,都永远不会发现if语句是正确的。但是,我可以使用以下命令轻松地使用form_id,因此我不确定哪里出错了! if ($form_id == 'views_exposed_form') { } 如何使用hook_form_alter()独特地改变我的单一观点?
12 7  views 

2
尝试创建带有标签的视图时出现问题。选项卡的链接未指向我设置的路径
我正在尝试创建带有选项卡的视图:这样的页面具有多个选项卡,该视图具有一个显示所有Article节点的主页,一个用于所有Event节点的选项卡以及一个用于Blog节点的选项卡。应该是这样的: 菜单中的“内容”按钮链接到/ content, “文章”标签链接到/ content / articles, “博客”标签链接到/ content / blog, “事件”标签链接到/ content / event。 但是,通过我的工作,这是我得到的: 所有3个标签都链接到/ content,而不是/ content / articles,/ content / blog,/ content / event。 ========== 下面是我的视图配置: 因此,基本上,选项卡会显示出来,但是选项卡的链接都指向/ content,而不是它们的单独链接。 我做错了什么?请指教。提前致谢!
12 views  routes 


6
如何限制对节点的直接访问?
如何限制对节点的直接访问,而仅允许视图访问特定节点类型的必填字段? 例如,在“视图幻灯片”中,我们正在滑动属于特定节点类型的图像字段。但是我们不希望搜索引擎访问和访问者访问属于该节点类型的节点。 有什么建议?
12 7  nodes  users  views 

2
如何将参数传递给View for Drupal 7?
我试图通过一个视图创建的块传递一个参数。 该节点是一个ubercart产品节点。我已经别名如下路径: 节点/ 45到产品/ [名称] 在上下文过滤器中,我选择了过滤器“ Content:Nid” 在带上下文过滤器的预览中,它可以按需使用节点ID。例如“ 45”,但视图未显示在页面节点/ 45上。 我相信别名可能引起了问题,但我认为Drupal旨在将别名转换为节点ID。
12 nodes  views 

3
视图的页眉/页脚中的“附件显示”和“全局:视图区域”之间有什么区别?
我正在尝试确定应该使用哪个。两者都可以继承上下文过滤器,因此就我而言,它们都是很好的解决方案。除了我已经拥有要与第一个视图放在一起的另一个视图之外,因此使用“附件”,我必须将整个另一个视图重做为第一个视图的新显示,但是使用“视图”区域,我只能重用另一个视图。 它们背后的概念是什么?除了我上面提到的以外,还有其他区别吗?
12 7  views 

2
覆盖views-view-fields.tpl.php
是否可以覆盖views-view-fields.tpl.php特定视图的文件?我尝试创建views-view-fields--view-name.tpl.php文件,并重新扫描了模板文件,并清除了缓存,但没有任何效果。此处报告的类似问题:http : //drupal.org/node/1137942 尽管如果我views-view-fields.tpl.php在主题文件夹中命名文件,但是在重新扫描模板文件时会应用新文件。但这意味着它适用于所有视图。 我注意到views-view-fields.tpl.php不是Views呈现的Theme Information屏幕中列出的文件之一。 有人能明确地告诉我,通过创建一个覆盖该文件views-view-fields--view-name.tpl.php(或类似如下的命名规则)是不能够/不支持?
12 views  theming 

3
以编程方式遍历视图结果的最佳方法是什么?
给定一个名为“ Children”的视图(具有两个字段:child_node_id和birth_order_value),以编程方式遍历给定display_id为“ default”和包含父节点id的参数的视图结果集的最佳方法是什么? 以前,我在代码块中使用过View,其代码类似于以下代码: if ( arg(0) == 'node' && is_numeric(arg(1)) && ! arg(2)) { $node = node_load(arg(1)); $args = array($node->nid); $view = views_get_view('Children'); print $view->preview('default', $args); } 但是,在另一个块中,我想基于视图中找到的值执行一些逻辑。您可能可以根据我的最终要求来猜测业务逻辑:我希望支持该视图的代码块(“子级”)被多次调用。在遍历视图数据集结果时,我想递归遍历遍历子节点的子节点,以查询其子节点。
12 views  6 

1
视图3无法识别已声明的处理程序。为什么不?
在modules / addressfield / addressfield.module中,我有: /** * Implements hook_views_api(). */ function addressfield_views_api() { return array( 'api' => 3, 'path' => drupal_get_path('module', 'addressfield') . '/views', ); } 和 /** * Implements hook_field_views_data_alter * * @param mixed $result * @param mixed $field */ function addressfield_field_views_data_alter (&$result, $field) { if (array_key_exists('field_data_field_address', $result)) { …
12 7  views 

3
vid是什么意思
我设计了一个视图,并在预览部分看到了此查询: SELECT node.nid AS nid, node_data_field_crm_history_brokerid.field_crm_history_brokerid_value AS node_data_field_crm_history_brokerid_field_crm_history_brokerid_value, node.language AS node_language, node.type AS node_type, node.vid AS node_vid, node_data_field_crm_history_brokerid.field_crm_history_caseid_value AS node_data_field_crm_history_brokerid_field_crm_history_caseid_value, node_data_field_crm_history_brokerid.field_crm_history_dateadded_value AS node_data_field_crm_history_brokerid_field_crm_history_dateadded_value, node_data_field_crm_history_brokerid.field_crm_history_entrydesc_value AS node_data_field_crm_history_brokerid_field_crm_history_entrydesc_value FROM node node LEFT JOIN content_type_crm_history node_data_field_crm_history_brokerid ON node.vid = node_data_field_crm_history_brokerid.vid WHERE node.type in ('crm_history') 这vid是什么意思? 实际上,我需要这样做,因为当我尝试使用以下查询尝试在crm_history中插入一条简单规则来插入一行时: $result = db_query("INSERT INTO {content_type_crm_history} (vid, nid, …
12 views  database 

5
如何使用hook_views_query_alter()修改条件?
我正在尝试修改视图查询的where条件。到目前为止,我成功地更改了“ order by”,但是我不知道如何更改where条件。我想检查search_term,如果它是大写的,请将其转换为小写,以便查询可以找到它。在查询运行之前,我还需要用我的语言(波斯语)替换一些特殊字符。任何人都可以帮助我从哪里开始,或者使用什么钩子或views_handlers? <?php /** * Implementation of hook_views_query_alter * @param type $view * @param type $query */ function nashreneydev_views_query_alter(&$view, &$query) { //krumo($query); //krumo($view); if ($view->name == 'custom_search') { $search_term = $view->exposed_raw_input['combine']; **//$query->where[0]['conditions'][0]['field']= "?????";** $view->query->orderby[1]['field'] = "CASE node_type WHEN 'product_display' THEN 1 ELSE 2 END"; $view->query->orderby[1]['direction'] = "ASC"; $view->query->orderby[0]['field'] = …
12 7  views 

8
如何主题化视图公开形式?
我创建了一个带有许多暴露滤镜的视图,但是它看起来很丑陋。 我想改善主题,包括将整个内容包装在一个字段集中,以及对其他一些元素进行分组(例如,将已发布和已更新的输入配对),但是不确定如何执行此操作。 我尝试了var_dump表单,但是它似乎永远存在,并且我的浏览器锁定了,因此我无法轻易地以这种方式学习任何有关表单的信息。 我还尝试将表单作为字段集子级放置在另一个表单中,但是事实证明,获取所有表单ID信息都是有问题的(尽管我确实获得了字段集样式)。 任何人都有指针吗? 更新: 我将模板从模块复制到站点的主题目录,并开始了工作。 <fieldset> <legend>Filters</legend> <div class="views-exposed-form"> <div class="views-exposed-widgets clear-block"> <?php foreach($widgets as $id => $widget): ?> <div class="views-exposed-widget"> <?php if (!empty($widget->label)): ?> <label for="<?php print $widget->id; ?>"> <?php print $widget->label; ?> </label> <?php endif; ?> <?php if (!empty($widget->operator)): ?> <div class="views-operator"> <?php print $widget->operator; ?> …
12 views  6  theming 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.