drupal菜鸟笔记之向drupalSettings添加数据

本文介绍了在Drupal中如何通过预处理函数和page_attachments方法将数据传递给前端。通过添加到drupalSettings,前端可以使用JavaScript获取这些数据。在示例中展示了如何在特定条件下获取并编码数据,然后将其附加到页面附件中供前端使用。
摘要由CSDN通过智能技术生成

在drupal中,我们可以通过API接口向前端提供数据,也可以将数据放入drupalSettings中,有前端通过JS获取数据。即通过预处理函数在数据传递给主题模板之前进行增加或修改数据

官方文档参考:
预处理函数

方案1:

/**
 * Implements hook_preprocess_page().
 */
function ixtend_report_preprocess_page(array &$variables) {
    //1. 条件判断
    
    //2. 数据获取
    $requested_vaials_diagnosis = ...
    $requested_month = ...
    //3. 赋值
    $variables['#attached']['library'][] = 'ixtend_report/ixtend_report-js';
    $variables['#attached']['drupalSettings']['ixtend_report']['chart_data'] = json_encode([
      'requested_vaials_diagnosis' => $requested_vaials_diagnosis,
      'requested_month' => $requested_month
    ]);
}

方案2:

/**
 * Implements hook_page_attachments().
 */
 function ixtend_report_page_attachments(array &$attachments){
 	  //1. 条件判断
    
    //2. 数据获取
    $requested_vaials_diagnosis = ...
    $requested_month = ...
    //3. 赋值
    $attachments['#attached']['library'][] = 'ixtend_report/guest';
    $attachments['#attached']['drupalSettings']['ixtend_report']['chart_data'] = [
      'requested_vaials_diagnosis' => $requested_vaials_diagnosis,
      'requested_month' => $requested_month
    ];
}

ps:打开相应页面,在浏览器控制台(console)中输入drupalSettings后回车即可看到drupalSettings下的数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值