Здравствуйте!
Подскажите, пожалуйста, как можно реализовать такой вывод:
Есть 3 типа материала - сюжет, новость, статья
и словарь сюжеты.
Сюжет: фото, термин сюжеты
Новость: заголовок, фото, термин сюжеты, первый абзац (teaser)
Статья: заголовок, фото, термин сюжеты, кратко о статье (summary)
Если в сюжете указано помещать на главную, то выводятся материалы этого термина в блоке.
Еще сюжет нужен для того, чтобы хранить дефолт фото для этого термина (в новости фото может не быть)
Мне нужно выводить последние 4 (новости, статьи) в блоке
сделал 2 views с аргументом термин ID
select_main_story: первая новость / статья - заголовок, фото, первый абзац / кратко о статье
select_story: остальные 3 новости - заголовки.
Что не получается сделать:
1. Как вывести Сюжет -> фото (по термину ID) если в первой новости нет фото?
2. Мне нужен блок из 3-х сюжетов. Как это правильно сделать?
Что-то типа сначала выбрать 3 материала из сюжетов, которые указано помещать на главную
Потом из каждого материала типа сюжет выбрать фото и термин таксономии.
Далее сделать вывод views
print views_embed_view('select_main_story','default','term_id');
print views_embed_view('select_story','default','term_id');
и потом если в select_main_story отсутствует фото, то заменить его на фото по дефолту из материала типа сюжет, чтобы это фото было в виде ссылки на материал типа новость / статья из select_main_story.
Подскажите как это проще всего сделать? или дайте ссылку на документацию / или пример чего-то похожего.
Комментарии
В принципе показывает все, только подскажите как подсунуть фото во views, если там вывод пустой?
<?php
$query = "select nid from node where promote='1' and type='story' order by created DESC LIMIT 0,3";
$result = db_query($query);
while (
$n = db_fetch_object($result)) {$my_node = node_load($n->nid);
print $my_node->field_main_photo['0']['filename']. '<br>';
foreach (
$my_node->taxonomy as $term_id => $value) {print views_embed_view('select_main_story','default',$term_id);
print views_embed_view('select_story','default',$term_id);
break;
}
}
?>
Мне нужно "засунуть" $my_node->field_main_photo['0']['filename'] в select_main_story если там фото пустое. Как сделать?
Сделал по уродски, если фото нет, пишу replace_photo, а потом замена:
<?php
$search = "replace_photo";
$replace = "<img src=\"/sites/default/files/imagecache/medium-land/{$my_node->field_main_photo['0']['filename']}\" />";
$subject = views_embed_view('select_main_story','default',$term_id);
$new_subject = str_replace($search, $replace, $subject);
print
$new_subject;?>как по нормальному сделать?