Modult vagy blockot kell fejleszteni?

zoliky képe

Szeretnek egy igenyemhez megfelelo forum statisztikat letrehozni (vbulletin hasonlot). Peldaul megmondja hany regisztralt felhasznalo van, hany thread letezik, kinek van a szuletesnapja, stb..

Ehez modult kell fejlesztenem ? Elvileg csak SQL lekereseket kene csinalni. Azt hiszem ez nem lesz nehez :) Azert kerdem a modulos dolgot, mert block kent szeretnem megjeleniteni az adatokat.

Koszonom!

nevergone képe

Mindenképpen modult érdemes fejlesztened (vagyis nem egy blokkba beírni a PHP kódot), hiszen modulból is hozhatsz létre blokkot, és még sokminden mást is. :)

0
0
zoliky képe

Atolvastam a drupal oldalt amely a modulok fejlesztesevel foglalkozik. Most vilagos !
Szeretnek meg valamit kerdezni (off-topic). Egy block tartalmat be lehet epiteni egy tablazatba?

Jelenleg a kovetkezot nyomja ki a blockom:

<div id="block-forumstat-0" class="block block-forumstat">
   <h2>
   Forum statistics
   </h2>
 
   <div class="content">
   Threads: 4
   </div>
</div>

Na most valami hasonlot szeretnek:

<div id="block-forumstat-0" class="block block-forumstat">
 
   <table>
   <tr><td><h2>Forum statistics</h2></td></tr>
   <tr><td><div class="content">Threads: 4 </div></td></tr>
</div>

Kicsit zavarnak ezek a DIV-ek! Orulnek ha letezne egy megoldas! Koszonom

0
0
alippai képe

DIVeket használni nem bonyolult dolog, sokszor jobb és egyszerűbb mint táblázatot - de ha nagyon akarod, akkor itt találod a megoldást :)

0
0

Lippai Ádám
young element

zoliky képe

Az igasag az, hogy en sem szeretem a tablazatokat csak sajnos a block a forumhoz fog tartozni. Egy forum statisztikarol van szo a meglevo forum alatt, es szeretnem a szeleket beszinezni barnaval, ugy mint itt lathato: http://www.progra.ro

0
0
zoliky képe

egyebkent a link amit kuldtel ervenyes drupal 6-ra is ? En probaltam letrehozni a tpl.php fajlot de nem mukodik.

0
0
alippai képe

block-forumstat.tpl.php fájlt hozd létre a block.tpl.php (mármint ott látod a szükséges változókat).

Amit elfelejtettem: töröld a theme registryt

0
0

Lippai Ádám
young element

zoliky képe

Akkor is kene mukodnie ha uritem az osszes "cache_" tablat az adatbazisbol. Hat letrehoztam a "block-forumstat.tpl.php" fajlot a smink folderbe de semmi. Ugyanezt letrehoztam a modul folderbe, semmi.

A fajl tartalma:

  <div class="block block-<?php print $block->module; ?>" id="block-<?php print $block->module; ?>-<?php print $block->delta; ?>">
    <h2 class="title"><?php print $block->subject; ?></h2>
    <div class="zoliky"><?php print $block->content; ?></div>
 </div>

Megneztem a HTML kodot, a div class="zoliky" sehol, ugyanaz a regi div class="content" jelenik meg.

Most mar tenyleg nagyon idegesit!

0
0
zoliky képe

Ha lettrehozom a "block.tpl.php" fajlot es modositom, akkor minden block megvaltozik, szoval mukodik :) A fene tudja miert nem akar az enyemel mukodni: block-forumstat.tpl.php. Szerintem nem latja a fajlot, mert ha latna akkor mukodne. Talan a drupal6-ban valami valtozot. Ez pedig meghaladja a tudasomat.

A modulom tartalma itt lathato (talan itt rejtozik a hiba? ) :

function forumstat_block($op = 'list', $delta = 0) {
        switch ($op) {
               case 'list':
               $block[0]["info"] = t('Forum statistics');
               return $block;
 
               case 'view':
               $block["subject"] = t('Hello');
               $block["content"] = t('Ok');
               return $block;
        }
}

Elore is koszonom!

0
0
aboros képe

lehet, hogy nem ez a baja, de még egy switch hiányzik a kódodból szerintem.
rendesen így van:

function forumstat_block($op = 'list', $delta = 0) {
        switch ($op) {
               case 'list':
               $block[0]["info"] = t('Forum statistics');
               return $block;
 
               case 'view':
                 switch($delta) {
                    case 0:
                     $block["subject"] = t('Hello');
                     $block["content"] = t('Ok');
                     break;
                 }
                 return $block;
        }
}
0
0

-
clear: both;

Pasqualle képe

szerintem neked block-forumstat-0.tpl.php fajl kell

a theme developer-rel tudod ellenorizni, a devel modul resze

0
0
zoliky képe

Vegul sikerult megoldani a problemat, de csak az egyik reszet!
igy nez ki a modulom:

<?php
/**
 * @file
 * Obtain forum statistics
 */
 
/**
 * Implementation of hook_block()
 */
function forumstat_block($op = 'list', $delta = 0) {
  switch ($op) {
    case 'list':
    $block[0]["info"] = t('Forum statistics');
    return $block;
 
    case 'view':
    $item = _forumstat_fetch();
    $subject = theme('forumstat_mytheme', 'Forum Statistics');
    $block["subject"] = $subject;
    $block["content"] = check_plain($item->nid);
    return $block;
  }
}
 
/**
 * Fetching statistics from database
 */
function _forumstat_fetch() {
  $sql = "SELECT nid FROM {node} WHERE status=1 AND type='forum' ORDER BY RAND() LIMIT 1";
  $res = db_query($sql);
  $item = db_fetch_object($res);
  return $item;
}
 
/**
 * Implementation of hook_theme()
 */
function forumstat_theme() {
  return array(
    'forumstat_mytheme' => array(
    'arguments' => array('subject' => NULL),
    ),
  );
}
 
function theme_forumstat_mytheme($subject) {
  $out = '<div class="subject" style="background-color: pink">'. $subject . '</div>';
  return $out;
}

Most kulso tpl.php fajl nelkul csinalja a temat, de lenyegtelen. Ami idegesit az, hogy a drupal nem hagya el az alapertelmezet tagokat a block kozul, ezekre gondolok (2: es 3:).

1: <div id="block-forumstat-0" class="block block-forumstat">
2: <h2></h2>
3: <div class="content"></div>
4: <div>

Csak azt kene kinyomni amit a "theme_forumstat_mytheme" fuggveny kuld vissza. Tudna valaki segitseget nyujtani ? - itt mar konyvel sem boldogulok :)

0
0
zoliky képe

Azon gondolkodtam, hogy a kod amit kuldtel minden "block"-ra vonatkozik es en csak egy block-ot szeretnek modositani.

Ok, most biztos azt irjatok nekem, hogy letre kell hozni egy sajat "tpl.php" fajlot es atirni a sminket, ez logikus. De nem ugyanazt csinaltam en is a fenti kodomban ? Egy fuggvenyben ott van mit kell kinyomni HTML-be.

0
0