"Friss blogbejegyzések" blokk szerzőkkel

elias képe

Sziasztok,

abban szeretnék segítséget kérni, hogy van a blog modulban ez a "Friss blogbejegyzések" blokk, amivel a 10 legfrisebb bejegyzést lehet egy blokkba kitenni, viszont az én oldalamon több szerző - tehát több blog - is van, és azt szeretném valahogy elérni, hogy ne csak a blogbejegyzés címét, hanem a cím elé a szerzőt is kiírja. (kb mintha itt a Drupal.hu-n a Friss hozzászólások-hoz a szerzőt is ki kéne íratni)
Gondolom valamit a blog modulban kell átírni / hozzáírni, de sajnos süsü vagyok hozzá.

Azt gyanítom, hogy ehhez kéne valamit hozzávarázsolni (ez a blog modulból van). Csak nem tudom mit.

/**
 * Implementation of hook_block().
 *
 * Displays the most recent 10 blog titles.
 */
function blog_block($op = 'list', $delta = 0) {
  global $user;
  if ($op == 'list') {
    $block[0]['info'] = t('Recent blog posts');
    return $block;
  }
  else if ($op == 'view') {
    if (user_access('access content')) {
      $result = 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, 10);
      if (db_num_rows($result)) {
        $block['content'] = node_title_list($result);
        $block['content'] .= '<div class="more-link">'. l(t('more'), 'blog', array('title' => t('Read the latest blog entries.'))) .'</div>';
        $block['subject'] = t('Recent blog posts');
        return $block;
      }
    }
  }
}

Mindennemű segítséget szívesen fogadok! Előre is köszi ha valaki válaszol.

pp képe

Ez egy olyan problémás rész, amit nem könnyű megoldani egyszerűen.

Fogod az api.drupal.org oldalt és utána mész, hogy melyik függvény mit csinál. Látni fogod, hogy ez a függvény a node_title_list függvényt hívja meg, ami a theme_node_list függvényt hívja meg. Mondhatnánk hurrá megvan a sminkelhető függvény. Igen ám, de ebbe a függvénybe már nem jutnak el a node adatai, csak amit éppen kiírunk.

Amit tenni kell:
1. készítesz egy modult, ami megvalósít egy blokkot.
2. lemásolod a hook_block függvényét és a node_title_list hívást lecseréled egy sajátra.
3. a saját függvényben összegyűjtöd a szükséges adatokat, majd ezeket átadod egy saját smink függvénynek, hogy később fel tudd használni máshol is (esetleg megoszthatod a modult a közösséggel)
4. elkészíted a smink függvényedet és örülsz.

pp
(talán bonyolultnak tűnik, de ez a legegyszerűbb megoldás. ;)) persze átírhatod a blog modult, meg a node modult, meg theme.inc-t de miért gányolnál, ha itt az orrod előtt a szép megoldás, ami hosszú távon is megoldás lehet. Nem beszélve arról, hogy ha már annyi melód lesz, hogy fel kell venned egy alkalmazottat és kiadnod neki a melót. Ekkor majd nem kell szégyenkezned a rommágányolt hányadék kódod miatt.)

0
0
thamas képe

Views-zal nem lehet??

Végül is csak egy tartalomtípus lista kell, dobozban, benne cím, szerző, dátum szerint rendezve? Vagy félreértek valamit?

Üdvözlettel:
Hajas Tamás

0
0

Üdvözlettel:
Hajas Tamás

aries képe

A views modul táján nézz szerintem szét, ott ki tudod listázni a node-okat, és a theme_views_view_list_nezetneve() függvénnyel pedig felülírhatod a megjelenést.

Aries
http://aries.mindworks.hu

0
0
elias képe

Köszönöm mindenkinek!

A Views-megoldást válaszottam. A másikat (pp-ét) meg se tudnám csinálni, már a modul írásnál elakadnék. A Views viszont megy és tényleg működik. A Views modul kiegészítésében, a Theme Wizardban létrehozok egy .tpl-t egy .css-t és egész könnyen sminkelni is tudom a blokkot, úgyhogy minden frankó!

Kösz mégegyszer!

0
0