在 php 数据表中添加 属性 用于 google 图表自定义 html 工具提示

Adding property in php datatable for google chart custom html tooltips

我正在尝试通过将它们添加到数据表中来在我的 google 图表中创建自定义 html 工具提示,现在我的数据表正在 PHP 中创建,如下所示:

  $datatable = array('cols' => array(
 array('type' => 'string', 'role' => 'domain', 'label' => 'Month'),
 array('type' => 'string', 'role' => 'tooltip'), 
 array('type' => 'string', 'role' => 'domain', 'label' => 'Omzet'), 
 array('type' => 'number', 'label' => 'Omzet '.$jaar), 
 array('type' => 'number', 'label' => 'Omzet '.($jaar-1)), 
 array('type' => 'string', 'role' => 'domain', 'label' => 'Aantal'), 
 array('type' => 'number', 'label' => 'Aantal '.$jaar), 
 array('type' => 'number', 'label' => 'Aantal '.($jaar-1))
));

并像这样填充:

$datatable['rows'][] = array('c' => array(
 array('v' => $monthname),
 array('v' => '<h1>custom</h1> tooltip '.$monthname),
 array('v' => 'Omzet '.$monthname),
 array('v' => $row['totaal']),
 array('v' => $omzet),
 array('v' => 'Aantal'),
 array('v' => $row['aantal']),
 array('v' => $aantal)
));

但是对于您可以在 Javascript 中为 google 图表指定的数据表,您必须添加类似

的内容
dataTable.addColumn({'type': 'string', 'role': 'tooltip', 'p': {'html': true}});

否则工具提示将以纯文本而不是 html 标记的形式出现 https://developers.google.com/chart/interactive/docs/customizing_tooltip_content#customizing-html-content

这意味着我将不得不以某种方式将 'p' : { 'html' : true } 属性 添加到我的数据表

我试过把它编辑成

array('type' => 'string', 'role' => 'tooltip', 'p' => '{ html : true}'),

甚至

array('type' => 'string', 'role' => 'tooltip', 'html' => true),

但其中 none 似乎有效,我也找不到在 google 上执行此操作的方法。

我希望我已经提供了足够的信息来帮助您得出答案,如果您还需要什么,请告诉我。

这是我第一次在这里发帖,所以请多多关照(:

dataTable.addColumn({'type': 'string', 'role': 'tooltip', 'p': {'html': true}});

即json格式。因此,如果我理解正确,您只需要将数组转换为 json 数组即可。在 PHP 中,您可以通过 json_encode 函数来实现。

array('type' => 'string', 'role' => 'tooltip', 'p' => '{ html : true}'), 的方向是正确的,但是 'html': true 部分需要一个额外的数组。

它应该看起来像 array('type' => 'string', 'role' => 'tooltip', 'p' => array('html' => true));

我在这里试过了:Link to test

好的,我已经设法修复它,问题是我必须将它添加为额外的数组元素,如下所示:

array('type' => 'string', 'role' => 'tooltip', 'p' => array('html' => true)),

这以 Google 图表接受的格式创建了 JSON,将工具提示转换为 HTML 格式的文本。