pelso képe

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)

<div id="center"><div id="squeeze"><div class="right-corner"><div class="left-corner">
          <?php print $footer_message ?>
          <?php if ($breadcrumb): print $breadcrumb; endif; ?>
          <?php if ($mission): print '<div id="mission">'. $mission .'</div>'; endif; ?>
 
          <?php if ($tabs): print '<div id="tabs-wrapper" class="clear-block">'; endif; ?>
          <?php if ($title): print '<h2'. ($tabs ? ' class="with-tabs"' : '') .'>'. $title .'</h2>'; endif; ?>
          <?php if ($tabs): print $tabs .'</div>'; endif; ?>
 
          <?php if (isset($tabs2)): print $tabs2; endif; ?>
 
          <?php if ($help): print $help; endif; ?>
          <?php if ($messages): print $messages; endif; ?>
          <?php print $content ?>
          <span class="clear"></span>
          <?php print $feed_icons ?>
0
0
magor képe

Köszönöm szépen a segítséget. A következő kódot találtam a fórum témák között, amit átalakítottam:

/** hook_menu implementálása **/
function jquery_teszt_menu() {
  $items['teszt'] = array (
    'title' => 'teszt',
    'page callback' => 'teszt_page',
    'access arguments' => array('access content'),
  );
  return $items;
}
 
/** hook_menu implementálása **/
function teszt_page() {
 
 
  /** Az űrlap generálása és megjeleníthetővé tétele  **/
  return drupal_get_form('jquery_teszt_form');
 
}
 
 
/** Űrlap beállítása **/
function jquery_teszt_form() {
 
 
mysql_connect("localhost", "root");
$eredmeny = mysql_db_query ("db_name","SELECT nid FROM node LIMIT 0 , 30 ");
while ($sor = mysql_fetch_array ($eredmeny));
 
 
   $form['teszt'] = array(
      '#type' => 'fieldset',
      '#title' => 'teszt mező',
      '#collapsible' => TRUE,
      '#collapsed' => FALSE,
   );
 
   $form['teszt']['teszt_select'] = array(
      '#type' => 'select',
      '#title' => 'teszt select doboz',
      '#default_value' => 0,
      '#options' => array($sor),
   );
   return $form;
}

Hibát nem dob, ne nem is tölti fel a 'teszt_select'-et. Megtudná mondani valaki, hogy mi lehet a hiba?

0
0
Lavjaman képe

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;
  }
}
?>
0
0

*----*----*

$node ? 'alma' : 'bor'

*----*----*

balazsgabi képe

valahogy belepiszkálni

hát ja, e téren tehetségem határtalan :)

A C:\xampp\htdocs\includes\theme.inc on line 56 alapján valami ilyesmi lesz, de ehhez már én kevés vagyok:

  drupal_bootstrap(DRUPAL_BOOTSTRAP_DATABASE);
  $themes = list_themes();
 
  // Only select the user selected theme if it is available in the
  // list of enabled themes.
  $theme = !empty($user->theme) && !empty($themes[$user->theme]->status) ? $user->theme : variable_get('theme_default', 'garland');
 
  // Allow modules to override the present theme... only select custom theme
  // if it is available in the list of installed themes.
  $theme = $custom_theme && $themes[$custom_theme] ? $custom_theme : $theme;
 
  // Store the identifier for retrieving theme settings with.
  $theme_key = $theme;
 
  // Find all our ancestor themes and put them in an array.
  $base_theme = array();
  $ancestor = $theme;
  while ($ancestor && isset($themes[$ancestor]->base_theme)) {
 
 
/*ez itt az 56. sor*/ 
  $base_theme[] = $new_base_theme = $themes[$themes[$ancestor]->base_theme];
    $ancestor = $themes[$ancestor]->base_theme;
  }
  _init_theme($themes[$theme], array_reverse($base_theme));
}

és mindig 35 byte-ot igényelne a világbékéhez.

Nem vagyok egy nagy sminkelő, de ezzel a módszerrel - amit egyébként Szántó Gabi leírása alapján csináltam meg - már ezelőtt összekattingattam két másik oldalnál. Ettől függetlenül biztos én néztem be valamit, csak most már szeretném megtudni, hogy mit :) csak, hogy tanulhassak a hibámból!

0
0
lili_ képe

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;
 
}
0
0

mini

dj képe

<?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.

0
0

Üdv!
Dudás József

fecske95 képe

Találtam egy ilyet ez már majdnem jó és működik is csak nekem külön-külön kellene minden szűrőre...
Illetve bizonyos szűrőket és a pl. az Alkalmaz/Alaphelyzet gombot szeretném kihagyni...

<?php if (!empty($q)): ?>
  <?php
    // This ensures that, if clean URLs are off, the 'q' is added first so that
    // it shows up first in the URL.
    print $q;
  ?>
<?php endif; ?>
<?php drupal_add_js('misc/collapse.js'); ?>
<fieldset class="collapsible collapsed">
<legend><a href="#"><?php print t('Search form'); ?></a></legend>
  <div class="views-exposed-form">
    <div class="views-exposed-widgets clear-block">
      <?php foreach($widgets as $id => $widget): ?>
        <div class="views-exposed-widget">
          <?php if (!empty($widget->label)): ?>
            <label>
              <?php print $widget->label; ?>
            </label>
          <?php endif; ?>
          <?php if (!empty($widget->operator)): ?>
            <div class="views-operator">
              <?php print $widget->operator; ?>
            </div>
          <?php endif; ?>
          <div class="views-widget">
            <?php print $widget->widget; ?>
          </div>
        </div>
      <?php endforeach; ?>
      <div class="views-exposed-widget">
        <?php print $button ?>
      </div>
    </div>
  </div>
</fieldset>

http://drupal.org/node/540518

0
0
Prancz Ádám képe

Ez szerepel a logban:
Nov 16 08:53:16 s34 kernel: php5.2[4315]: segfault at bf1324e0 ip 083545ef sp bf1324e0 error 6 in php5.2[8048000+635000]

Nov 16 08:53:16 s34 kernel: php5.2[4313]: segfault at bf06ab70 ip 083545ef sp bf06ab70 error 6 in php5.2[8048000+635000]

Nov 16 08:53:16 s34 kernel: php5.2[4320]: segfault at bf25e560 ip 083545ef sp bf25e560 error 6 in php5.2[8048000+635000]

Nov 16 08:54:25 s34 kernel: php5.2[5535]: segfault at bf325600 ip 083545ef sp bf325600 error 6 in php5.2[8048000+635000]

Nov 16 08:54:47 s34 kernel: php5.2[6060]: segfault at bf318960 ip 083545ef sp bf318960 error 6 in php5.2[8048000+635000]

Nov 16 08:54:49 s34 kernel: php5.2[6062]: segfault at bf535d00 ip 083545ef sp bf535d00 error 6 in php5.2[8048000+635000]

Nov 16 08:54:51 s34 kernel: php5.2[6075]: segfault at bf7d9cc0 ip 083545ef sp bf7d9cc0 error 6 in php5.2[8048000+635000]

Nov 16 08:54:52 s34 kernel: php5.2[6102]: segfault at bf677510 ip 083545ef sp bf677510 error 6 in php5.2[8048000+635000]

Nov 16 08:58:09 s34 kernel: php5.2[8790]: segfault at bf6b5630 ip 083545ef sp bf6b5630 error 6 in php5.2[8048000+635000]

Nov 16 09:04:26 s34 kernel: php5.2[14559]: segfault at bf007f00 ip 083545ef sp bf007f00 error 6 in php5.2[8048000+635000]

Nov 16 09:04:34 s34 kernel: php5.2[14946]: segfault at bf3a4e60 ip 083545ef sp bf3a4e60 error 6 in php5.2[8048000+635000]

A computed field a hibás. Az életkort ezzel a kóddal számítottam:

if (!$node->nid) node_save($node);
  $dob = $node->field_birthdate[0]['value'];
        $now = time();
        $then = strtotime($dob);
 
        $diff = date('Y', $now) - date('Y', $then);
 
        if($diff < 0)      /* ideally you want to prevent this from happening */
           echo '??? - negative age.';
 
        if(($diff > 0) && (date('z',$now) < date('z',$then)))
           $diff --;
$node_field[0]['value'] = $diff;

Ebben lehet a hiba, mert ha kiszedem ezt a kódot akkor remekül működik minden!
Mi lehet a baj?

0
0
aranyozottpatkoszeg képe

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
0
0
sanyatuning képe

végül is sikerült
találtam egy hurkot a views-ban amivel be tudtam állítani a sql lekérdezésben JOIN-okat

az eredi lekérdezésben a uc_products tábla rögtön a node táblához volt csatolva, de nekem van közte egy node_reference mező ami field_data_field_alk_leiras táblában van.

egykis kód :)

/**
 *
 * @param view $view
 * @param views_plugin_query_default $query
 */
function addfield_views_query_alter(&$view, &$query) {
  if ($view->name == 'taxonomy_term'
          && $view->current_display == 'block_2') {
    $join1 = new views_join();
    $join1->construct(
            'field_data_field_alk_leiras',
            'node',
            'nid',
            'field_alk_leiras_nid'
    );
 
    if (!$query->add_table(
                    'field_data_field_alk_leiras',
                    'node',
                    $join1,
                    'field_data_field_alk_leiras')) {
      dpm('adding table field_data_field_alk_leiras was failure');
    }
 
    $join2 = new views_join();
    $join2->construct(
            'uc_products',
            'field_data_field_alk_leiras',
            'revision_id',
            'vid'
    );
    if (!$query->add_relationship(
                    'uc_products',
                    $join2,
                    'field_data_field_alk_leiras')) {
      dpm('adding table uc_products was failure');
    }
 
    /*
     * reorder tables
     */
    $uc_products = $query->table_queue['uc_products'];
    unset($query->table_queue['uc_products']);
    $query->table_queue['uc_products'] = $uc_products;
  }
}
0
0