Здравствуйте.
Появилась проблема. Пожалуйста, помогите решить.
Собственно, суть:
Требуется сделать экспорт из отдельного типа материала с cck-полями в файл *.doc.
Реализовал эту возможность при помощи advanced views - дополнения к основному модулю views. Все бы хорошо, но экспортированном файле данные выводятся в виде таблицы, а надо чтобы обязательно выводилось списком.
Исполняемый код модуля экспорта views_bonus_export.module
<?php
$table = theme('table', $header, $themed_rows);
$table = preg_replace('/<\/?(a|span) ?.*?>/', '', $table); // strip 'a' and 'span' tags
$table2 = preg_replace('/<\/?(a|span) ?.*?>/', '', $themed_rows); // strip 'a' and 'span' tags
print $table;
?>
Здесь видно, что при помощи друпаловской функции theme формируется табличный вывод темизированного массива строк $themed_rows.
Я хотел попробовать переопределить вывод по аналогии с стандартным стилем views - list (шаблон views-view-list.tpl), но исходные данные совсем другие, и попытка работать таким методом с $themed_rows ни к чему не приводит.
Затем, нашел интересную функцию theme_item_list($items = array(), $title = NULL, $type = 'ul', $attributes = NULL), которая реализует темизированный вывод списка элементов.
Но в ее использовании тоже есть затруднения, она требует чтобы в массиве $items содержались еще дополнительные параметры для вывода, то есть чтобы работать с ней, нам нужно сформировать массив, где каждый элемент, в свою очередь, является ассоциативным массивом содержащим строку с данными для вывода и дополнительными параметрами для формирования конечного html-кода.
Очень желательно, чтобы сохранилось форматирование, т.е. заголовки полей - жирным, сама информация обычным шрифтом.