список представлений через запятую - PullRequest
1 голос
/ 14 мая 2011

все. У меня проблема с представлениями 2. У меня есть представление со стилем строки, установленным в поля (получил только поле заголовка). Я хочу отображать эти заголовки в списке через запятую. Например:

Казахстан, Англия, Китай, Корея

пытался сделать это:

foreach($fields['title']->content as $titles) {

$zagolovki[] = $titles['view'];

}

$title_list = implode(', ', $zagolovki);

print $title_list;

но это не работает - говорит об ошибке в аргументе. Пожалуйста, помогите мне, чтобы кто-то отображал названия узлов в представлениях с разделенным запятыми списком. Спасибо!

Ответы [ 3 ]

1 голос
/ 15 мая 2011

Я быстро взглянул на views-view-fields.tpl.php, который поставляется с модулем представления, и он говорит

 /*
 * - $view: The view in use.
 * - $fields: an array of $field objects. Each one contains:
 *   - $field->content: The output of the field.
 *   - $field->raw: The raw data for the field, if it exists. This is NOT output safe.
 *   - $field->class: The safe class id to use.
 *   - $field->handler: The Views field handler object controlling this field. Do not use
 *     var_export to dump this object, as it can't handle the recursion.
 *   - $field->inline: Whether or not the field should be inline.
 *   - $field->inline_html: either div or span based on the above flag.
 *   - $field->separator: an optional separator that may appear before a field.
 * - $row: The raw result object from the query, with all data it fetched.
 */

Так что я думаю, что $ fields - это то, что вы должны повторить. Если вы хотите отладить структуру вашего $fields, установите модуль devel и используйте dpm () или dsm () для отображения содержимого $field. Возможно, возьмите отредактированный вами шаблон (это должен быть один из шаблонов представления в папке views/theme) и посмотрите, что там происходит.

0 голосов
/ 04 июня 2011

Я создал этот модуль:

http://drupal.org/project/views_delimited_list

Я не слишком уверен в том, что нужно переключаться с опциями для создания просто списка через запятую.Вы должны быть в состоянии, и если вы не можете, я это исправлю.

0 голосов
/ 15 мая 2011

Где говорится, что произошла ошибка? nonsenz, вероятно, прав, что $fields['title']->content не является массивом. Только для отладки, попробуйте добавить

print("array content: "+ is_array($fields['title']->content));

перед foreach. Если вы знаете, что $ fields - это небольшая вложенная структура, вы можете попробовать

print(str_replace("\n","<br/>",print_r($fields,true));

чтобы увидеть, что именно в нем, чтобы вы могли убедиться, что то, что вы пытаетесь перебрать, на самом деле итеративно.

...