Сниппет для вывода нод

Главные вкладки

Аватар пользователя beliy1 beliy1 4 июля 2006 в 14:10

Здравствуйте!

Спешу сообщить, что у меня уже скоро дым пойдет из ушей, пока я настраиваю dashboard с применением сниппетов (snippets)!

Мне нужно, чтобы выводились все ноды как на главной - с учетом параметров "Прикрепить наверху" и "Вывести на главную". Нормальных образцов тут http://drupal.org/node/23220 не нашел - видимо это настолько ненужное никому дело, что в handbook это не проиллюстрировали Smile

В общем, как быть? Как мне вывести мои ноды в список, как на главной? Практически, надо повторить код вывода нод.

Заранее спасибо!

Комментарии

Аватар пользователя beliy1 beliy1 4 июля 2006 в 15:23

снипетом потому, что я хочу выводит все через dashboard.

этот код (так все просто в очередной раз оказалось!) выводит очень похоже на то, как мне нужно. спасибо!

другой вопрос. я использовал такой снипет для вывода записей из дневника:

<?php
/**
* the following displays a list of the 10 most recent weblog titles
* and links to the full weblogs of a certain user.
* If you want to increase/reduce
* the number of titles displayed..simply change the $listlength value
*
* for a different user change the $userid value
*
* works with drupal 4.6.
*
*/

$listlength="15";

$output = node_title_list(db_query_range(db_rewrite_sql("SELECT n.nid, n.title, n.created FROM {node} n WHERE n.type = 'blog' AND n.status = 1 ORDER BY n.created DESC"), 0, $listlength),t('Последние записи в дневниках:'));
print $output;
?>

у меня есть пожелание, чтобы он ещё и выводил потом после каждой темы в скобочках кто это создал. как такой исполнить?

team nightsochi.ru

Аватар пользователя beliy1 beliy1 4 июля 2006 в 15:26

ещё я хочу первые 5 нод вывести в таком виде как на главной (код для этого у меня уже есть) а потом ноды с 6ой по 20ю (допустим) - только заголовки. вот что мне не хватает для счастья!

team nightsochi.ru

Аватар пользователя dyp@drupal.org dyp@drupal.org 5 июля 2006 в 2:41

ну и задачки у вас однако

<?php
  $nlimit = 10;
    $result = db_query("SELECT n.created, n.title, n.nid, n.uid,
n.status, n.type
    FROM node n
    WHERE n.status = 1 AND n.type = 'blog'
    ORDER BY n.created
    DESC LIMIT $nlimit"
);

    while ($obj = db_fetch_object($result)) {
    $xuser = user_load(array('uid' => $obj->uid));
    profile_load_profile(&$xuser);     
       
      $co++;
      $blogoutput .= '<li>';
      $blogoutput .= l(($obj->title), "node/".$obj->nid);
      $blogoutput .= '<br>';     
      $blogoutput .= l(($xuser->name), "user/".$obj->uid);       
      $blogoutput .= '</li>';
    }
                if ($blogoutput): ?>
                        <div class="block" id="block-block-1">         
                        <h3>последние записи в блогах</h3>
                        <div class="content">
                        <div class=item-list>
                        <ul>
                        <?php print $blogoutput; ?>
                        </ul>
                        </div>
                        </div>
                        </div>
                <?php endif; ?>

вобщем что-то такое, у меня вроде работает
кстати если пользуешь снипеты то незабывай делать

unset ($output);
Аватар пользователя dyp@drupal.org dyp@drupal.org 5 июля 2006 в 2:51

Quote:
ещё я хочу первые 5 нод вывести в таком виде как на главной (код для этого у меня уже есть) а потом ноды с 6ой по 20ю (допустим) - только заголовки. вот что мне не хватает для счастья!

вторую часть делаем вот как:

<?php
$listlength="20";
$output = node_title_list(db_query_range(db_rewrite_sql("SELECT n.nid, n.title, n.created FROM {node} n WHERE n.type = 'blog' AND n.status = 1 ORDER BY n.created DESC"), 5, $listlength));
print $output;
?>

и будет тебе счастье Smile
ЗЫ походу я сам скоро php выучу Smile

Аватар пользователя beliy1 beliy1 5 июля 2006 в 8:58

ну это все для вывода блогов... Sad буду ковырять модуль views и insert_view - не все же высправшивать постоянно, отвлекая других от работы....

Спасибо за время!

ЗЫ а php это трудно?

team nightsochi.ru