Drupal

Drupal开发人员和管理员的问答

2
负载均衡多个水平drupal实例
我已经使用“服务”模块开发了REST WebAPI。它工作正常。我有一个该API的客户端,该API具有预期的用法,要求我水平扩展我的Drupal实例。请注意,由于我的API的性质,需要大量的CPU和GPU资源,因此我无法使用云服务器。另外,由于我的API的性质,Drupal实例必须在Windows OS上运行。(我的应用程序只需要Win64上可用的软件。)我现在在同一位置上有一个功能强大的服务器,对于这个雄心勃勃的客户端,我计划按以下方式水平扩展硬件: 一台运行HaProxy作为前端负载均衡器的CentOS服务器, 首先要启动两个服务器,然后根据需要添加更多服务器,以承载Drupal的Windows Server 2008 R2服务器, 一台CentOS数据库服务器为多个Drupal实例提供一个数据库, 如果DB服务器1死亡,则一台以复制模式运行的CentOS数据库服务器。 我的问题与HaProxy负载平衡器的工作方式有关。我假设由Drupal实例创建的sessionId将彼此唯一。负载平衡器是否查看sessionId并将所有请求路由到生成该sessionId的同一服务器上?如果负载平衡导致每个API请求都转到不同的服务器,REST WebAPI通信将如何工作?WebAPI引用的所有数据是否都必须存储在数据库中,因为我不能确保针对同一资源的多个API请求将被路由到同一Drupal实例?

2
krumo()/ dpm()不起作用
我有一个自定义模块和一个模板,可以更改节点提交表单的外观,请参见以下说明。 我的模块包含三个功能: 一个hook_form_alter()效果很好 hook_theme()即使您之前输入了其他代码,A 也不执行任何操作,但是返回一个数组return(不确定这是否是设计使然) 一个hook_preprocess_HOOK()是目前空 dpm()hook_preprocess_HOOK()尽管krumo()在相同的变量上可以工作,但在中似乎什么也没做。它设置了一个Drupal消息,该消息可以读取,Array: [n] items但根本无法扩展或检查。 在我的模板中,print_r($form);按预期方式打印出表单数组。dpm('self-aware roomba');按预期设置Drupal消息“自我感知的Roomba”。但是dpm($form); 什么也不做,不会抛出任何错误。 除我以外的所有内容都hook_form_alter()与链接教程中显示的完全一样。我什至尝试将整个部分拉出来hook_form_alter(),看看是否没有它就可以工作。没有。 什么可能导致dpm()/ krumo()静默失败?

5
如何停止CKEditor 3.6.3.7474剥离<script>标签
随着Full HTML关启用,相关的过滤器,CKEditor的将剥夺任何&lt;script&gt;从内容被编辑标签。为该特定网站创建内容的编辑者必须能够将这样的内容嵌入到他们正在创建的内容中: &lt;img src="http://s2.thingpic.com/images/TD/zKWJQJiFBsp3oP1etNC1.png" width="560" class="alwaysThinglink"/&gt; &lt;script charset="utf-8" src="//www.thinglink.com/jse/embed.js#286861458501795840"&gt;&lt;/script&gt; 从理论上讲,我们可以通过禁用CKEditor并直接使用HTML来实现此目的,但实际上不起作用:编辑器不懂HTML。他们足够了解,可以暂时退出RTF模式,粘贴在上面,然后再切换回RTF模式。但是,如果他们再次编辑该内容,则CKEditor &lt;script&gt;在打开内容时会剥离标签。 如何停止该行为并使CKEditor将&lt;script&gt;标签保留在原处?那里有隐藏的设置吗? 顺便说一句,我们将CKEditor与Wysiwyg 7.x-2.1模块结合使用。 是的,一般来说,允许&lt;script&gt;是非常糟糕的,但是在这种情况下,唯一有权访问Full HTML格式的人就是编辑者(受信任的人)。 谢谢!
8 7  wysiwyg 


1
什么时候应该创建一个视图的多个显示而不是多个视图?
创建视图的多个显示而不是多个视图只是为了方便起见,还是有性能优势? 某些显示器中是否包含以下任何一项,而其他显示器中没有,则会整体上影响视图吗? 上下文过滤器 内容类型过滤器 聚合 例如,我很好奇是否有一个显示器仅显示Article内容类型结果,另一个是否显示Forum结果,另一个显示自定义Photo内容类型会使每个显示器的运行速度变慢。或者,如果所有视图都共享相同的内容类型,但是不同之处仅在于视图具有针对nid的上下文过滤器,而其他视图则没有,它们都变慢了吗? 如果单个视图有30个Displays,我应该将其重构以提高性能,或者仅仅是因为UI并不打算显示那么多Displays。

3
如何覆盖模块中的功能?
首先,很抱歉,如果这个答案在其他地方有所涵盖。我已经做了很多搜索,只能找到有关覆盖主题功能和挂钩的信息。 我正在使用一个模块来为Drupal Commerce项目建立价格表。有一个格式化表格标题的函数: /** * Helper function that takes care of the quantity displayed in the headers of * the price table. */ function commerce_price_table_display_quantity_headers($item) { // Set the quantity text to unlimited if it's -1. $max_qty = $item['max_qty'] == -1 ? t('Unlimited') : $item['max_qty']; // If max and min …
8 7  commerce 


5
如何在图像字段中添加描述?
我有有一个内容类型字段中的像场类型。 编辑此字段时,我看到可以: Enable Alt field 并且还可以: Enable Title field 有什么方法可以添加描述字段以显示在每个图像下方。
8 entities  media 

1
以编程方式创建多语言节点
我正在尝试使用php脚本创建一个多语言节点。 我正在这样做: $node = new stdClass(); $node-&gt;title = "Test ".mktime(); $node-&gt;type = "job"; $node-&gt;language = 'de'; // Or e.g. 'en' if locale is enabled $node-&gt;uid = $user-&gt;uid; $node-&gt;status = 1; //(1 or 0): published or not $node-&gt;promote = 0; //(1 or 0): promoted to front page $node-&gt;comment = 1; //2 …

1
有没有一种方法可以按照“选项”费率/投票API小部件的结果对视图进行排序?
我正在使用“费率”模块允许对给定节点是“有帮助”还是“无帮助”进行投票。我有一个包含所有此类型节点的视图,并且该视图包括“速率”窗口小部件的字段。我没有显示小部件本身的问题,并且投票工作正常。但是,我终生无法使用任何类型的排序功能。 我已经尝试了所有与Vote有关的排序类型,并且所有这些排序类型均以不相关的顺序对节点进行排序。似乎出现了问题,因为我使用的是“选项”的值类型,而我发现的建议似乎要求值类型为“点”。但是,我宁愿让用户在“有用”和“无用”之间进行选择,而不是使用赞成/反对或+/-投票系统。 有人知道我该如何按“最有帮助”和“最无用”进行排序,并保持“期权”的价值类型?
8 views  rating 

2
无法在视图7.x-3.3中重写此字段的输出
我不知道是否缺少某些内容,但是当我选中“重写此字段的输出”框或样式选项下的任何内容以自定义HTML时,什么也没有发生。我选中它,将其保存,然后再次打开,并且未选中这些框。有人知道发生了什么吗? 为清晰起见进行了编辑。我创建一个具有以下设置的新视图:页面,格式:未格式化的列表,显示:字段,字段为内容:标题。在“内容:标题”设置中,我检查要创建标签。我单击“样式设置”下的“自定义字段HTML”,“自定义标签HTML”,“自定义字段”和“标签包装HTML”,甚至重写该字段的输出,但没有任何反应。如果我保存该复选框,则返回未选中状态 解决方案。Views 7-3.3不适用于jQuqery 1.7+。它防止单击复选框后该框展开 资料来源:http://drupal.org/node/1494860
8 views  theming 

2
如何更改我的基本URL
我已经使用drupal建立了一个网站。现在,基本URL是http://xxx.xxx.xxx.xxx/drupal。但是我想将基本URL更改为http://xxx.xxx.xxx.xxx, 该怎么办? 谢谢。
8 uri 

2
管理员侧文本区域的语法高亮显示(在节点或块编辑期间)
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Drupal Answers 的主题。 3年前关闭。 当我在 Drupal的管理端编辑节点或块时,我试图找到一个突出HTML的模块(最好在style / script标签内突出显示CSS / JavaScript,但这是额外的好处)。 虽然我在drupal.org上搜索了语法突出显示模块,并遇到了诸如GeSHi和Syntax Highlighter之类的选项,但这两个似乎都是面向公众的最终内容,而不是管理方面的。我错了吗,一个人适合我吗?我还看到了一些突出显示PHP代码块的项目,但是对我来说,它不如HTML / CSS / JavaScript重要。 我从来没有为自己的HTML使用WYSIWYG编辑器,但是在编辑内容时一些突出显示将非常有用。

1
如何获得某个字段值的用户(实体)?
我想编写一个函数,将已输入特定值的用户返回到自定义用户字段。 可以说每个用户都有一个自定义生日字段。使所有用户都有特定生日的最佳方法是什么? 我可以创建一个数据库查询,该查询搜索field_data_field_birthday表并返回与field_birthday_value匹配给定值的entity_id(在这种情况下为用户id),然后加载用户。 这似乎有点粗糙,此用例是否有通用功能可用?在实体API还是现场API中?
8 users  entities 

3
有没有办法拦截一个视图创建的NID列表并将其用作另一个视图的过滤器?
在Drupal经验方面,我正尝试使用Drupal和Views API在自定义代码级别解决站点设计难题。像往常一样,我看似简单的解决问题的尝试向我展示了我还不知道的多少! 我有一个节点引用字段,它指向由许多不同的内容类型和这些类型的子类别使用的“相关事实”内容。虽然我可以创建关系并显示视图的“相关事实”,但是仍然存在问题。首先,我希望将相关事实放在一个单独的块中,并为视图提供的整个文章列表显示一个相关事实的列表。对于具有相同“相关事实”参考的多个对象,视图不会处理任何重复项。另外,我将不得不为每种内容类型和子类别分别生成大量的“相关事实”视图。 如果我可以创建一个单独的相关事实视图,该视图可以接受一组nids作为参数,那么可以简化相关事实视图。所以我的问题是如何解决这个问题。虽然从内部来看可能是可行的,但我正在寻求一个自定义模块php解决方案,因此我需要实现以下目标: 提取任何“内容类型”视图的结果作为参数列表。除了显示查看结果之外,我还需要加载正在显示的NID列表。 调用相关事实视图,并将其列表传递给它,以用作“相关事实”视图中的过滤器或上下文过滤器。 附加信息: 使用这种策略,我首先定义了一个视图,然后尝试从中提取结果。这种尝试导致在视图对象中查找结果时出现问题(请参阅此问题)。获得结果后,我将需要生成另一个视图,以这些结果作为过滤器。我已经看到从代码实现的视图是包含所有参数都已编码的包含文件的视图,但是没有找到定义和生成视图并使用php函数处理结果的示例。任何示例或链接将不胜感激。 迄今: 有两个答案解决了应用视图结果并将其作为上下文过滤器放置在另一个视图中的过程。但是我仍然面临这样的问题,即拥有数十种内容类型,每种类型中至少包含十二种视图内容窗格变体。除了将每个视图直接链接到相关事实之外,我将需要让我的任何view1内容视图将其结果传递给一个单独的“相关事实”视图。 CONTENT TYPE SUB-CATEGORY RELATED FACT (nid) Type 1 --------- General Info 101, 105 Specifications 103, 105 Inspections 102 Quality etc... Type 2 ----------General Info 101, 106 Specifications 102, 103 Cost factors 107 etc... View1查找特定的内容类型,并包含各种子类别文章,这些文章按子类别字段中的值排序。另外,它包含有关相关事实的节点参考字段。查看一个用于内容类型和子类别的过滤器,并具有用于显示的暴露字段和具有相关事实引用节点的隐藏字段。 View2过滤“相关事实”文章,并包含针对nid的上下文过滤器设置(尽管该设置适用于URL) 使用Letharion的答案中的代码,第6行中的foreach循环正在编译商品ID的列表,而不是相关事实ID的列表(这些商品引用了相关事实,但是相关事实没有对商品的节点引用) 。我需要从每个节点的事实字段中提取相关的事实ID。我已经将事实字段包括在View1定义中,但是由于命令dpm($ node);找不到结果。已经崩溃了,我不知道值在数组中的存储位置。 由于将为不同的内容类型克隆多个View1,所以我认为使用hook_views_post_execute并对其进行如下编码可能是有意义的: function …
8 views 

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.