Drupal

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

2
如何将变量从自定义模块传递到其模板文件?
我需要知道将变量从定制模块传递到其模板文件的最简单方法。我已经创建了custom.module并将custom.tpl.php放置在module文件夹中。 function custom_menu(){ $items = array(); $items['custom'] = array( 'title' => t('custom!'), 'page callback' => 'custom_page', 'access arguments' => array('access content'), 'type' => MENU_CALLBACK, ); return $items; } function custom_page() { $setVar = 'this is custom module'; return theme('custom', $setVar); } 我添加了主题功能,但无法正常工作,有人可以建议我这段代码有什么问题吗 function theme_custom($arg) { return $arg['output']; } function custom_theme() …
8 theming 


3
渲染theme_item_list项目
我的模块提供了一个简单的块,其中需要包含一些图像的无序列表。从一个块函数,我返回一个可渲染的数组: $block['content'] = array( 'list' => array( '#theme' => 'item_list', '#type' => 'ul', '#attributes' => array('class' => 'foo1'), '#items' => array( /* ... what should go here? */ ), ), ); 我想要一些可渲染的数组作为项目列表中的项目,但是我似乎无法将任何数组插入到#items数组中。 在Drupal 7的theme_item_list API文档说: items:要在列表中显示的项目数组。如果项目是字符串,则按原样使用它。如果一项是数组,则该数组的“数据”元素用作列表项的内容。如果项目是带有“子项”元素的数组,则这些子项将显示在嵌套列表中。所有其他元素都被视为列表项元素的属性。 我尝试同时使用“ data”和“ children”元素,但是我得到的是empty <li>或里面有一个单词Array。 正确的方法是什么?theme_item_list是正确/最新的解决方案吗?
8 7  forms  theming 

3
大量令牌会减慢一切-占位符令牌
你们中的任何人有太多令牌的问题吗?由于几乎没有内容类型(〜8)和一堆字段(每个〜5-10),因此令牌模块生成带有替换令牌的表太大。这就是为什么我必须增加settings.php的可用内存,以避免由于php错误而导致drupal的原因。我设置了512M,所以它现在会生成输出表,但是它是如此之慢,以至于冻结了Chrome。 发生在我具有可用令牌的预览的位置。因此可以在Pathauto或Custom Breadcrumbs中找到它。 这是在Google Chrome HTML预览中的外观:

2
尝试使用EntityFieldQuery查找未设置节点引用字段的所有节点
经过一些搜索后,我发现最接近的代码片段是: ->fieldCondition('field_name_ref', 'nid', 'NULL', '!='); 这将找到节点引用不为空的所有内容。但是,如果我更改!=为=它,则不会返回任何内容。我已经尝试过所有可以想到的值组合: 传递NULL而不是'NULL'。 传入 array() 试 1, "<" "", "CONTAINS" "", "=" 0, "=" 再加上其他一些,只需尝试我能想到的所有组合即可。 我怎样才能做到这一点?
8 entities 

1
将自己的内容添加到节点
我创建了一个模块,该模块将自定义内容添加到节点。我想在节点视图中显示此自定义内容。我认为使用起来hook_node_view()很合适,但是我的内容无法显示。 到目前为止,我得到的是以下代码: function mymodule_node_view($node, $view_mode = 'full', $langcode = NULL) { $node->content['mymodule']['#items'][0] = array( 'value' => theme('mymodule_output', array('mymodule_cid' => $node->mymodule_cid)), 'summary' => '', 'format' => 'full_html', 'safe_value' => theme('mymodule_output', array('mymodule_cid' => $node->mymodule_cid)), 'safe_summary' => '', ); $node->content['mymodule']['#weight'] = 12; } 有人可以帮忙吗?
8 7  hooks  nodes 

4
如何使用Google Apps用户名和密码登录Drupal?
我们正在寻找一种用户可以使用其Google Apps帐户用户名和密码登录Drupal网站的方法。我们使用“ Google Apps for Education”,并且我们不想为Drupal网站维护单独的用户名和密码。 我们还希望将访问权限限制为某些拥有Google Apps帐户的用户。诸如过滤或预先批准的帐户列表之类的内容。并且,用户的帐户应在首次登录时自动创建,并且他们无需在Drupal中填写任何其他帐户信息,应直接从Google Apps帐户中提取该帐户。 Drupal 7是否有提供此功能的模块?我已经尝试过OAuth,Loginza.ru,OpenID等方法,而这些并不是我们想要的。 如果没有这样的模块,我该如何为该模块编写自定义模块?
8 7  users 

3
执行视图而不渲染
我想以编程方式执行视图(提供参数)并获取原始结果,而不渲染它。可能吗? 当我使用$view->preview('default', $args);它时,将结果转换为HTML。我知道我可以$view->result用来迭代原始结果,但是我用于某些字段的自定义渲染存在错误,并给了我WSOD(我不感兴趣或无法修复渲染器,这是一个极端的情况:)) 我正在将Views 3与Drupal 7一起使用
8 7  views 

3
有条件地显示Display Suite中的两个字段之一?
我想知道是否有使用Display Suite来显示两个字段之一的巧妙或首选方法。 因此,我的案例要求使用图片(如果已上传)或EVA(实体视图附件)。我让它们都正确显示,当然,如果图像未上传(未填充),则EVA字段显示正常。但是,如果图像已上传,我想隐藏EVA字段。 我想我可以做一个自定义代码字段,但是如果有一种内置方法可以选择一个而不是另一个字段,我想避免这种情况。也许与现场小组有关? 谢谢!
8 7  entities 

1
Drupal Commerce:如何获取付款模块设置?
如何以编程方式检索特定支付模块的配置? 我试过了 $settings = rules_config_load('commerce_payment_MODULE_NAME'); 它返回非常基本的信息(名称,ID等)和空的“设置”数组。 也不能直接从DB获取它。 它存储在该unserialize()函数无法完全处理的序列化数组中。
8 7  commerce 

4
如何在drupal 7中向用户/注册页面表单添加文本字段?
我想在Drupal 7用户/注册页面中修改并添加文本字段。我知道表格是由函数生成的user_register_form() 我可以用这种方式添加文本框吗? function bartik_copy_user_login($form, &$form_state) { global $user; // If we are already logged on, go to the user page instead. if ($user->uid) { drupal_goto('user/' . $user->uid); } // Display login form: $form['name'] = array('#type' => 'textfield', '#title' => t('Username'), '#size' => 60, '#maxlength' => USERNAME_MAX_LENGTH, '#required' => TRUE, …
8 forms 

2
非管理员如何添加内容?
在Drupal 7中,如何让具有特定角色的用户添加新文章? 我以管理员身份登录,设置了角色权限,以允许创建和编辑文章节点。 当我使用具有“ NewRole”角色的用户登录时,看不到任何允许我创建新文章的控件或仪表板。 如何以该新用户身份开始添加新文章?
8 users  nodes 

1
如何使用ajax加载视图,以便也加载视图所需的其他js / css文件?
目前,我正在使用jQuery加载视图,如下所示: $.ajax({ type: 'POST', url: Drupal.settings.basePath + 'views/ajax', dataType: 'json', data: 'view_name=' + viewName + '&view_display_id=default&view_args=' + viewArgument, // Pass a key/value pair. success: function(data) { var viewHtml = data[1].data; target.children().fadeOut(300, function() { target.html(viewHtml); var newHeightOfTarget = target.children().height(); target.children().hide(); target.animate({ height: newHeightOfTarget }, 150); target.children().delay(150).fadeIn(300); Drupal.attachBehaviors(target); }); }, error: function(data) …
8 7  views  ajax  javascript 

1
如何获取模块以安装视图?
我已经在开发环境中开发了一个模块。我使用UI为其构建了一个视图。我已经导出了视图,但是我不知道将其放置在何处,以便在新环境中安装模块也会创建视图。 如何正确执行此操作? 奖励:如何让模块卸载视图hook_uninstall?

2
使用JavaScript检测Drupal 6中的首页
在Drupal 6中使用javascript,是否有办法检测当前页面是否为首页?我有一个自定义的Drupal 6模块,该模块根据当前页面是否为首页来输出不同的javascript代码。它向drupal添加了一个javascript文件,因此我需要将检查内容放入javascript中。 该站点将通过Varnish缓存提供服务,因此我不想在PHP中添加支票,尽管我知道使用会更容易drupal_is_front_page()。 有没有Drupal本机的方法可以做到这一点?基于jQuery的建议将受到高度赞赏。 谢谢。

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.