添加属性在php数据表谷歌图表自定义html工具提示


Adding property in php datatable for google chart custom html tooltips

我试图在我的谷歌图表中创建自定义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中指定对于谷歌图表,你需要添加像

这样的东西
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}属性到我的datatable

我试过把它编辑成

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

或甚至到

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

但是这些似乎都不起作用,我也找不到在谷歌上这样做的方法。

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

这是我第一次在这里发布问题,所以请友好(:

您在array('type' => 'string', 'role' => 'tooltip', 'p' => '{ html : true}'),的轨道上是正确的,但是您需要为'html': true部分添加一个额外的数组。

应该是array('type' => 'string', 'role' => 'tooltip', 'p' => array('html' => true));

我在这里试了试:链接到test

数据表。addColumn({"类型":"字符串","角色":"提示","p":{"html":真}});

json格式。如果我没理解错的话你只需要把数组转换成json数组。在PHP中,你可以通过json_encode函数来实现。

好的,我已经设法解决了这个问题,问题是我必须添加它作为一个额外的数组元素,像这样:

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

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