Install fájl

kr.roland képe

Sziasztok!

Írogatok egy saját modult 6-os Drupalhoz. A modul kész, és már csak 1 dolgom lenne, írni egy install fájlt.
Ezt el is kezdtem, a marpdf.install tartalma

<?php
// $Id:$
 
function  marpdf_schema() {
  $schema['marpdf'] = array(
    'description' => 'Holds definitions for top-level custom menus (for example, Primary Links).',
    'fields' => array(
      'menu_name' => array(
        'type' => 'varchar',
        'length' => 32,
        'not null' => TRUE,
        'default' => '',
Drupal verzió: 

Hasonló tartalmak megjelenítése

Paal képe

Sziasztok!

Migrálni kellene egy D5 oldalt D6-ra, és szeretnék pár dolgot javítani :)

Van egy CCK-val és taxonómiával kialakított katalógus oldalam. A „termék” a következő mezőket tartalmazza (többek között):

  • Cikkszám (field_product_id, txt): 07-454-9001
  • Termék kód (field_category_id, txt): 07-454
  • Színkód (field_color_id, txt): 9001
Fórum: 
Drupal verzió: 

Drupal 7 privát fájlok letöltése csak bejelentkezett felhasználóknak

edgarpe képe

A Google maps-es példákat hamarosan folytatom, de ezt most muszáj kiírnom magamból.

Ma órákon át téptem a hajam egy egyszerűnek tűnő probléma felett: mindössze annyit szerettem volna elérni, hogy egy Drupal 7 weboldalnál a privát tárolóba feltöltött fájlokat csak bejelentkezett felhasználók tölthessék le.

Kereső átszabása

Laza képe

Nagyon jó, hogy a Drupal alapból nyújt számunkra egy keresőt "mindenestől". Ennek a funkciónak erősen megvannak a korlátai nem véletlen azt hiszem, hogy a drupal.hun is a googlet részesítik előnyben. Viszont ez a rövid bejegyzés nem ezekről a korlátokról kíván szólni, hanem a kereső kinézetének átszabásáról, mely gyakran felmerülő igény, mégsem olyan egyszerű megoldani, mint ahogy az ember azt elsőre gondolná.

 

Az igények voltak: a kereső mező elől a label eltűntetése és a form rövidebbre szabása.

Ehhez a következőt kell tenni:

tibi képe

Megpróbálom akkor egy kicsit összeszedni a gondolataimat.
Van egy modulom amin éppen dolgozok, ez az első modul amit Drupalra írok, php-vel már 2 éve foglalkozom és magával a php-vel nincs gondom, csak drupal modulba nem tudom integrálni a már meglévő tudásomat. A modulom feladata az, hogy könyvtárakat tudjak vele létrehozni a drupal files könyvtárán belül (szerkesztés, törlés, áthelyezés) és ezek tartalmát meg tudjam jeleníteni egy oldalon. (Ez működik "nyers" php scriptként.)
Egy while ciklusom van arra, hogy kilistázzam a könyvtár tartalmát, linkelve, 4-et egy sorba stb. Erre kaptam azt a választ, hogy használjam a http://api.drupal.org/api/HEAD/function/file_scan_directory függvényt. Nos ezt nem tudom hogy tudnám alkalmazni :( Na meg azt is kaptam válaszként, hogy ne HTML kimenetet készítsek hanem készítsem elő a http://api.drupal.org/api/HEAD/function/theme_table függvénynek az adatokat. A következő formában: $output = theme('table', és a többi paraméter);
Itt elakadtam. Nem értem, hogy használhatom a drupal ezen függvényeit a probléma megoldására. 5.1-es drupalt használok.

Az alap php forrás:

if($kepekk = @opendir("files/kepek/")){
    $kepek = array(".bmp", ".gif", ".jpeg", ".jpg", ".png", "");
    $kepszamolo = 1;
    while($kep = @readdir($kepekk)) {
        if  (in_array(strtolower(strrchr($kep, ".")), $kepek)) {
             if ($thumb_per_sor == 8) {
            echo "  </tr>\n"."  <tr>\n";
                $thumb_per_sor = 0;
            }
            list ($szelesseg, $magassag) = @getimagesize("files/kepek/".$kep);
          echo  "<td>\n"."<a href=\"/files/kepek/".$kep."\">\n"."<img style=\"border: 0px; vertical-align: middle; width: ".ceil(($szelesseg / 10)).";\" src=\"files/kepek/".$kep."\" alt=\"".$kep."\" />\n"."</a>\n"."</td>\n";
            $kepszamolo++;
        }
    }
    @closedir($kepekk);
}

Itt még nem dimanikus a könyvtrákezelés. Az egy későbbi feladat lesz. Egyenlőre egy adott könyvtár tartalmát szeretném (jelen esetben, képek) kilistázni egy oldalon.
Remélem sikerült normálisan elmondani mi is a problémám.

T.

0
0
pp képe

Nem volt időm kipróbálni, de kiindulásnak jó lesz szerintem.

Nálam így néz ki a form html kódja:

<form action="/"  method="post" id="simplenews-block-form">
 <div>
   <div class="form-item">
   <label for="edit-mail">E-mail: <span class="form-required" title="Szükséges mező.">*</span></label>
  <input type="text" maxlength="128" name="mail" id="edit-mail"  size="20" value="" class="form-text required" />
 </div>
<div class="form-radios">
   <div class="form-item">
     <label class="option"><input type="radio" name="action" value="subscribe"  checked="checked"  class="form-radio" /> Feliratkozás</label>
   </div>
   <div class="form-item">
     <label class="option"><input type="radio" name="action" value="unsubscribe"   class="form-radio" /> Leíratkozás</label>
  </div>
</div>
<input type="submit" name="op" id="edit-submit" value="Beküld"  class="form-submit" />
<input type="hidden" name="form_id" id="edit-simplenews-block-form" value="simplenews_block_form"  />
</div>
</form>

Látható, hogy egyértelműen a form id-val lehet kiválasztani ezeket az elemeket, hisz az egyedi.
Tehát minden szabálynak úgy kell kezdődnie, hogy "#simplenews-block-form". Ezek után jöhet a többi kiválasztó. Tovább vizsgálva a formot, láthatod, hogy a ".form-radios" divben vannak benne a radio-gombok. méghozzá egy ".form-item" divben, ezért kerülnek egymás alá, mert a div "mácsak ilyen".
Elvileg a következő szabály egymás mellé teszi őket:

#simplenews-block-form .form-radios .form-item{
  display: inline;
}

Lehetne float-olni is, de akkor a form-radios-nak kéne adni egy magasság értéket, sztm.

Saját smink készítésénél, ha csak css-t változtatjuk a következő lépéseket kell követni:

1. kiválasztjuk a sminket amit módosítani szeretnénk. Ez, ha nem alapsmink(ez milyen hülye szó...;)), akkor a /sites/all/themes/sminkneve könyvtárban található.
2. Ebben a könyvtárban hozzunk létre egy sajatsmink nevű könyvtárat, majd ebbe másoljuk át a style.css-t (valamint az összes képfájlt, de ez sminktől függ.)
3. Ezt a style.css-t és képeket módosítsuk.
4. Mindenképen ajánlott ff+firebug használata, (rrd készített erről egy jó kis videót.)
5. Utolsó mentsvárként még ajánlható az !important kapcsoló, ez akkor segít, ha a style.css előrébb van mint az a css amiben található szabályt szeretnénk felülírni. Használata:

  display:inline !important;

Egészségetekre!

0
0
kkwx képe

Sikerült megoldanom a problémát! :)
Választ sajnos nem kaptam, de megoldottam minden problémámat :).
Leírom a megoldásokat hátha érdekel valakit :)

$gotdate = $form_state['values']['datum'];    			// megadott dátum (2010-10-16 00:00:00 - formátumban)
$fourdays = mktime(0,0,0,date("m"),date("d")+4, date("Y"));	// 4 nap múlva (1287187200 - formátumban)
 
$fd = format_date($fourdays, 'custom', 'Y-m-j');		// 4 nap múlva (2010-10-16 - formátumban)
 
  if ($gotdate < $fd) { // így már összehasonlíthatók a formátumok...
	$fd = format_date($fourdays, 'custom', 'Y F j - l');
    form_set_error('submitted][typed_amount', t('"'.$fd.'" előtti dátumra nem lehet foglalni!'));
  }

ezek után még az adatbázisba való feltöltéssel is gondok voltak, hiába volt ugyanaz a formátuma a változómnak (2010-10-16 00:00:00) mint amit a mező kért (0000-00-00 00:00:00), mégse töltötte fel az értéket a datetime típusú mezőbe, dátum és int mezőbe meg csak a 2010-et tette.
Végül úgy oldottam meg, hogy számmá alakítottam (timestamp) és úgy tároltam el, majd visszaalakítottam a számot dátummá:

// lekértem a dátumot az űrlapból:
$gotdate = $form_state['values']['datum']; 
// számmá alakítottam:
$datum = strtotime($gotdate);
// és így alakítottam vissza a számot jól olvasható dátummá (akármilyen dátumba lehet, ez úgyis nálam csak kiíratáshoz kell)
$re = format_date($datum, $type = 'custom', 'Y-m-j - l');

Hogy én mennyit szenvedtem ezekkel :), de remélem más is hasznosnak találja a leírásomat :).

Ja, és még egy apróság. Ha a dátum mezőt a következő formában valósítjuk meg, akkor eltűnik az időmező és csak dátumot kér:

$form['datum'] = array(
    '#type'=> 'date_popup',
    '#title' => t('Dátum'),
    '#required' => TRUE,
    '#date_timezone' => 'Europe/Budapest',
    '#date_type' => datetime,
    '#date_year_range' => '-0:+1',
    '#date_format' => 'Y.m.d',
    '#description' => t('Adja meg az érkezés dátumát!'),    
  );
0
0

BBCode modul modositasa

zoliky képe

Szeretnem kicsit modositani a BBCode modult, de nem szeretnek a kodba belenyulni.
Eloszor is elmondanam mit csinal (velemeny szerint) a BBCode.

Tartalmaza a kovetkezo fuggvenyt :

function hook_filter($op, $delta = 0, $format = -1, $text = '') { 
... kod
... kod
... stb...
}

A tartalom atmegy a fuggvenyen es a kimenet tetszesunk szerint alakithato.
Itt van a leiras: http://api.drupal.org/api/5/function/hook_filter

PHP code beviteli formában sem működik a PHP kód

nagyg.pa képe

Egy ideje a legegyszerűbb PHP kód sem működik, hiába adom meg ("root"-ként) egy új Oldal-t létrehozva a "PHP code" beviteli formát.

Adatok:
Drupal 5.1, MySQL 5.0.25, PHP 5.2.0, Apache 2.2.3 (Linux)
Modulok: Views, Spam, robot.txt, Captcha, Textimage, Token, Autolocale, Form
Fájlrendszer letöltési mód: privát

Beállítások -> Beviteli formáknál a PHP code résznél látszólag minden rendben, nem piszkáltam benne soha semmit.