következőképp
csinálsz egy modult, aminek lesz két függvénye:
az egyik a fenti függvény, ez legyen mondjuk "mymodule_block_content", a másik pedig a block hook
szóval:
<?php function mymodule_block_content() { /* ide kerül a kódod, amit fentebb írtál*/ $result = db_query("SELECT fok_node.title, fok_node.nid, fok_signup_log.nid, fok_signup_log.form_data FROM fok_node inner join fok_signup_log ON fok_node.nid = fok_signup_log.nid ORDER BY fok_node.title"); $items = array(); while ($row = db_fetch_object($result)) { $items[] = ($row->title); } return theme('item_list',$items); } function mymodule_block($op = 'list', $delta = 0, $edit = array()) { if ($op == 'list') { $blocks[0] = array( 'info' => t(''), 'weight' => 0, 'status' => 1, 'region' => 'left' ); return $blocks; } else if ($op == 'view') { switch($delta) { case 0: $block = array( 'subject' => t(''), 'content' => mymodule_block_content(), ); break; } return $block; } } ?>
*----*----*
$node ? 'alma' : 'bor'
*----*----*
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
én ilyesmit szoktam
function szervegyseg_publication(){ $h=""; //meg akarom jeleníteni az összes publikációt $sql ="SELECT * FROM {publication}"; //táblázatos kiírás $rows = array(); $header = array('Név','Cím','Témaismertető', 'Releváns', 'Kulcsszó'); $sql .= tablesort_sql($header,NULL,'timestamp'); $rs = pager_query($sql, 10); /*itt adom meg h hány rekord jelenjen meg egyszerre*/ while($data = db_fetch_array($rs)){ $rows[] = array( array("data"=>$data["nev"]), array("data"=>$data["cim"]), array("data"=>$data["temaismerteto"]), array("data"=>$data["relevans"]), array("data"=>$data["kulcsszo"]), ); } $tik = theme('table',$header,$rows); $tik .=theme('pager',NULL,10,0); $h.=$tik; return $h; }
mini
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
Modul vitaindítónak
<?php // Kell egy idnews CCK text field a tartalomtípusba aminek a neve field_idnews function "modulod_neve"_node_operations() { // A tartalom adminisztrációs űrlaphoz hozzáad egy "Adat import" menüpontot $operations = array( 'adatimport' => array( 'label' => 'Adat import', 'callback' => '"modulod_neve"_import_data', ), ); return $operations; } function "modulod_neve"_import_data() { // érdemes az import idejére betenni a drupal adatbázisba a táblát amiből importálunk $q=db_query("SELECT idnews, title, content, link FROM regi_tabla"); while ( $sor = db_fetch_array( $q ) ) { "modulod_neve"_node_mentes( $sor ); } } function "modulod_neve"_node_mentes( $sor ) { // ha akarsz akkor ide még beépíthetsz egy idnews ellenőrzést, ha van ilyen idnews akkor mehet a következőre $node = new StdClass(); $node->type = 'tartalom_típusod_neve'; $node->title = $sor['title']; $node->body = $sor['content']; $node->field_idnews[0]['value'] = $sor['idnews']; // ami nem kell eltűnteted a $sor['link'] elejéről $link = strstr( 'domain.tld/', $sor['link'] ); $node->link = $link; node_save($node); } ?>
Nem teszteltem csak egy váznak írtam.
Üdv!
Dudás József
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
További próbálkozás (D7)
Permalink Beküldte aranyozottpatkoszeg - 2011. február 26. 01.10
Drupal 7.x-el szintén ezen küzdök. (Teaser-ből Summary lett pl.)
template.php:
function playground_preprocess_node(&$vars) { //ha full page tekintjuk meg a nodeot, akkor akciozunk csak if ($vars['page'] == TRUE) { //ujra betoltjuk a nodeot, hogy legyen erteke a teasernek, ne csak egy kapcsolo legyen $node = node_load($vars['nid']); //Ha ki van tölte már a summary if($node->body[$node->language][0]['summary'] != '') { $vars['brief'] = $node->body[$node->language][0]['summary']; } // Ha nekünk kell a body-ból legyártani a summary-t else { $text = text_summary($node->body[$node->language][0]['value'], $node->body[$node->language][0]['format']); $vars['brief'] = check_markup($text, $node->body[$node->language][0]['format'], $node->language, FALSE); } } }
Na, ez működik: a $brief remekül elérhető a node.tpl.php-ból.
Már "csak" az kéne, hogy a body-ból valahogy "kiszedjük" a summaryt. (Így még summary duplázás van.) Kivágnám én, de nem sikerül a body-t módosítanom. :(
Kérdeztem is ezt: D7 - preprocess_node-ban body buherálása
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
utókornak
Hát nekigyűrköztem és a kapott segítségelet is használva megcsináltam. (köszi mindenkinek!)
Tipp: nem a tartalmat, hanem a láblécet érdemes felűlre tenni. Gyak ugyan ott van eredetibe és sokkal egyszerűbb.
Csak egy sort kell a page.tpl-be átkopizni (+ a diveket kiszedni) valahogy ilyenre:
(a második sor az érdekes, ez jött lentről ide fel táblázat elmek nélkül - és csodásan működik)
www.pelso.net