Задача вывести имена юезров через запятую. С помощью css решаемо, но коряво, периодически запятая "отклеивается" от имени когда имя не помещается в строку.
есть ли нормальное решение чтобы через запятую все вывести (в конце последнего имени не должно быть запятой).
Комментарии
и как объединить-то никнейм и запятую?
вопрос как этот массив из вьюхи-блока вытащить...
когда массив типа - теги в ноде. вроде все просто - в 5 строчек... а тут хрен его знает. даже не знаешь как гуглить. остаться попрошайничать.
views-view-unformatted.tpl.php views-view-list.tpl.php и тд
там массив $rows
<?php foreach ($rows as $id => $row): ?>
<div<?php if ($classes_array[$id]) { print ' class="' . $classes_array[$id] .'"'; } ?>>
<?php print $row; ?>
</div>
<?php endforeach; ?>
и куда там дальше........... инклудить
так что ли ???
<?php print implode(', ', $row;); ?>
и все?
нет не так - я же сказал что массив $rows а не $row
<?php print implode(', ', $rows);?>
или же
<?php
$count = count($rows);
$i = 1;
foreach($rows as $row) {
print $row;
if ( $i < $count-1 ) { print ","; } $i++;
}
?>
это да. я добавил. но
там выводиться три раза почему то и запятая с пробелом выводиться... после значения.
картинка прилагаеться
по второму способу без повторов. почему???
ну и запятая не вплотную к никнейму...
предыдущий вариант был лучше.
теперь так вот см. приложение
i = 0 сделал. но пробел так и не убираеться
можно css margin-right: -5px; заюзать, но это не айс мне кажется.
а так ?
<?php
$count = count($rows);
$i = 1;
foreach($rows as $row) {
print ( $i < $count-1 ) ? $row .',' : $row;
$i++;
}
?>
посмотри исходный код что там получается
тоже самое...
файл ниже
что подразумевается под исходным кодом?
<?php /**
* @file
* Default simple view template to display a list of rows.
*
* @ingroup views_templates
*/
?>
<?php if (!empty($title)): ?>
<h3><?php print $title; ?></h3>
<?php endif; ?>
<?php
$count = count($rows);
$i = 0;
foreach($rows as $row) {
print ( $i < $count-1 ) ? $row .',' : $row;
$i++;
} ?>
вот так выводит без пробелов
<?php
$count = count($rows);
foreach ($rows as $id => $row) {
print ( $id < $count-1 ) ? trim($row) .',' : trim($row);
}
?>
да, норм.
жаль что такой формат вьюхи потерял класс для каждой строки...
<?php<div<?php if ($classes_array[$id]) { print ' class="' . $classes_array[$id] .'"'; } ?>>?>
так оберни вывод в div с нужными классами , только к этому блоку примени display:inline; чтобы выводилось в одну строку
как-нибудь так
<?php
$count = count($rows);
foreach($rows as $id => $row) {
print ( $id < $count-1 ) ? '<div class = "inferno" id="inferno-' . $id . '">' . trim($row) .',</div>' : trim($row);
}
?>
display:inline;
}