Я пытаюсь вставить круг D3 на базовую страницу Drupal 7, но он отображается в неправильном разделе страницы - ниже нижнего колонтитула. См. Здесь: http://www.thedata.co/circlepackzoom10. Я пробовал разные темы, но не имеет значения.Drupal 7 + D3 - вставлять визуализацию окружного пакета на странице
Я использую метод php include с фильтром PHP: <?php include './sites/thedata.co/files/html/circle_packZoom-10.html';
.
Я могу встроить D3-диаграмму в тело узла, так что это может быть сделано в некоторых случаях.
Использование Chrome, консоль JS определяет область содержимого как: <div class="field-item odd" property="content:encoded">
. Также не работает с Firefox.
Вот полный код: http://jsfiddle.net/cajmcmahon/9a5xaovv/
var pack = d3.layout.pack()
.size([r, r])
.children(function(d) {
return d.values; // accessor for children
})
.value(function(d) {
return d.values; // accessor for values
});
//Declare SVG attributes
var svg = d3.select("body").append("svg")
.attr("width", w)
.attr("height", w)
.append("g")
.attr("transform", "translate(" + (w - r)/2 + "," + (w - r)/2 + ")");
Любой любая идея, как поместить его в основной области содержимого узла? Благодарю.
Спасибо! Это заставило меня идти в правильном направлении. Drupal theming немного сложнее (много гнездящихся). Я попробовал «div # main-content» и «div # node-content», но, похоже, не работал. Я использую «var svg = d3.select (« div # article-47 »). Append (« svg »), которые попадают в правильное положение, но это означает необходимость пересмотреть код, если я хочу вставить на другую страницу , Думаю, это вызов Drupal. Я отправлю обратно, если я получу общесистемное решение, то есть может быть встроено в любую страницу. –
, вам может потребоваться добавить небольшую задержку в код d3, так как drupal может занять некоторое время для построения DOM. –
Спасибо. Раньше я этого не пробовал. Я посмотрю, смогу ли я его отсортировать. –