Добрый вечер!!!
Конверчу свой сайтец на 6ку, разбираюсь с темами и пребываю сейчас полнейшем ступоре.
Задача тривиальная, есть свой тип ноды с полями, есть представление, которое должно выводить список этих нод (один див за другим) в собственном формате - заголовок, картинка, обтекающий ее текст. Если в 5ке мы клали в template.php код для сбора полей и в цикле дергали шаблон, в котором из переданных полей можно было лепить какое угодно представление ноды, то в 6ке есть просто шаблоны типа views-view--bla-bla.tpl.php. И я нигде не могу достучаться до непосредственно до полей. Единственное, что приходит в голову, это на каждое поле делать свой шаблон, но почему то мне кажется, что это не совсем правильное решение.
Товарищи, пАмАгите, чайник уже дымится
Комментарии
стучись вот так - print $fields['ид_поля']->content;
Ну, в продолжение могу добавить пример вывода новостей такого вида:
заголовок - $fields['title']->content
вывод картинки - $fields['field_npic_fid']->content
автор - echo $fields['name']->content
дата публикации - $fields['created']->content
последний комментарий:
от автора - $fields['last_comment_name']->content
и был добавлен $fields['last_comment_timestamp']->content
тизер (содержание) - $fields['teaser']->content
тэги - $fields['tid']->content
<div class="title"><h2><?php echo $fields['title']->content;?></h2></div>
<div class="pic"><?php echo $fields['field_npic_fid']->content;?></div>
<div class="added">добавил <?php echo $fields['name']->content;?>, <?php echo $fields['created']->content;?> | <span>последний комментарий:</span> <?php echo $fields['last_comment_name']->content;?> <?php echo $fields['last_comment_timestamp']->content;?></div>
<div class="teaser"><?php echo $fields['teaser']->content;?></div>
<div class="tags"><?php echo $fields['tid']->content;?></div>
</div>
Ну а про стили наверное не надо говорить, что и где прописывать. Вот собственно готовый пример
Парни, а это в каком шаблоне? В list, grid, table, unformatted массива $fields нет, он есть только в views-view-fields-VIEWNAME.tpl.php
Ну вы сами на свой вопрос ответили-)
У меня файл с новостями, это views-view-fields--page-news.tpl.php
Ух ты! Господа! Как здорово! А где подсмотреть эти поля, с помощью чего вытащщить эти названия? есть дока или что? Имеется масса вьюсов с различными наборами полей, а как достать массив для каждой не знаю. Поделитесь знанием...
в шаблоне полей пишешь print_r($fields).
И разгребаешь, завалившую тебя инфу
Еще лучше и нагляднее будет выводится, если ввести:
<?php
print "<PRE>";
print_r($fields);
print "</PRE>";
?>
Нажать ссылку "экспорт" и посмотреть все fields
Товарищи, есть В CCK поле, которое картинка. Сделал во вьюхе для нее вывод как "картинка-со-ссылкой-на-ноду". Можно ли как-нибудь, подставить для тега этой картинки свои атрибуты, например, свой класс или align?
В css
Вот спасибо, действительно вы мне очень помогли.
По-моему, этот пост единственный, где есть пример для новичков.
В полях выберите не картинку, а file path. И оформляйте его как угодно
Что-то я не понял как работать с картинкой, у которой формат стоит Path To file. Может кто-нибудь кинуть пример?
Задача то простая, нужно всего навсего вывести картинку, у которой alt будет текстом из заголовка ноды. Вот никак не могу врубиться в каком месте это сделать.
Проблема в том, что свойство content выводит уже форматированный html. Если для картинки выставить формат Path To File, то на выходе получаем путь к файлу. Таку же конструкцию не вставишь в scr картинки. Выдирать нужные данные парсингом тоже не правильно. Alt текст, это заголовок ноды, формат вывода отмечен галкой Link this field to its node, соответственно свойство content тоже отображается как ссылка и не пригодна для вставки в alt картинки, хотя это еще можно отключить.
Можно как-то выцепить просто данные, без форматирования самого друпала? Сделать это пытюсь в views-view-fields--ViewName.tpl.php.
Почему? Выбираем в отображение картинки (пример живой): img200x200_URL
Мы получаем путь: http://site.dom/sites/default/files/imagecache/img200x200/pics/picname.jpg
Поковыряйтесь во Views, там много интересного
Вот с альтом (с выбранной ссылкой на ноду) действительно можно отключить
Ээээ, извиняюсь, это я оказывается не дописал. Если стоит Path to file, то на выходе получается /span class=/some class/путь к файлу//span/
Где-то ошибка у вас. Я когда писал
Делал параллельно и всё было гуд, так что проверьте файл с вьюз. А лучше покажите что у вас там
Сделал новую вьюху. Добавил туда только одно поле, которое картинка. Выставил ему формат Path To File.
Сделал файл views-view-fields--TestView.tpl.php.
Написал туда код:
foreach ($fields as $id => $field):
print $field->content;
fwrite($fFile, $field->content);
endforeach;
fclose($fFile);
В результате в 1.txt следующее содержание:
<span class=" imagefield-formatter-path">files/images/929/145small.jpg</span>
<span class=" imagefield-formatter-path">files/images/930/170small.jpg</span>
<span class=" imagefield-formatter-path">files/images/932/187small.jpg</span>
<span class=" imagefield-formatter-path">files/images/929/145small.jpg</span>
Зачем тут тэг span, как от него избавиться?
спасибо, полезно
p.s. Пока освоишь 6-ку, уже 7-ка выйдет
а куда пропал в 6-ке theme_wizard? Такая была удобная штука и на тебе, пропала.
Никуда. Его там и не было
Всех спасёт Semantic views