Többértékű mező alapján való frissítés szabállyal

ipeto képe

Sziasztok!

Több esetben előkerült már az a feladat, hogy egy többértékű entity (vagy user)reference mező értékei alapján kell frissíteni egy másik valamit: pl. egy másik entity reference-t vagy egy organic group felhasználóit. Viszonylag logikusnak tűnik, hogy ezt a node frissítésére hatására egy rule végezze el, összehasonlítva a mező régi és új értékeit és cselekedjen, ha eltérnek egymástól. Valami ilyesmi koncepciót gondoltam két egymásba ágyazott ciklussal:

Drupal verzió: 
Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Sk8erPeter képe

Nincs Views-támogatás a modulhoz, belenéztem a kódjába.

Na, gondoltam gyorsan csinálok még valami jót az újév előtt. :D

Úgyhogy elkészítettem neked egy minimodult, annyit csinál, hogy definiál egy blokkot, amiben egy sima rendezetlen lista (unordered list, <ul>) formájában kiíratom az általad is említett könyvtár gif-kiterjesztésű képeit.
Szóval most azt mutatom meg röviden, hogyan hozz létre egy olyan egyszerű modult, mint a faék, remélem, hasznos lesz:

  1. Hozz létre a sites/all/modules könyvtáron belül egy murgi nevű könyvtárat (legyen mondjuk ez a modul neve, a felhasználóneved alapján :D).
  2. Vegyél elő egy egyszerű szövegszerkesztőt, pl. Notepad++ tök jó.
  3. Hozz létre egy fájlt
    murgi.info
    néven, és rakd bele az első pontban létrehozott könyvtárba.
    Ez legyen a tartalma:

    1. name = Customization Module
    2. description = Customizing stuffs on the site...
    3. core = 7.x
    4. package = Murgi

    Persze az itt szereplő adatokat az egyenlőségjel után szabadon átírhatod, kivéve a core részt. :)

  4. Ezután hozz létre egy fájlt
    murgi.module
    néven, és rakd ugyanebbe a könyvtárba.

    Ez legyen a tartalma:

    1. <?php
    2.  
    3. /**
    4.  * Implements hook_block_info().
    5.  *
    6.  * Define all blocks provided by the module.
    7.  */
    8. function murgi_block_info() {
    9.  
    10. $blocks = array();
    11.  
    12. if(module_exists('drupalchat')){
    13. $blocks['drupalchat_smileys'] = array(
    14. 'info' => t('DrupalChat Smileys'), // The name that will appear in the block list.
    15. 'cache' => DRUPAL_CACHE_GLOBAL, // The block is the same for every user on every page where it is visible.
    16. );
    17. }
    18.  
    19. return $blocks;
    20. }
    21.  
    22. /**
    23.  * Implements hook_block_view().
    24.  *
    25.  * Prepares the contents of the block.
    26.  */
    27. function murgi_block_view($delta = '') {
    28.  
    29. $block = array();
    30.  
    31. switch ($delta) {
    32. case 'drupalchat_smileys': {
    33. $block['subject'] = t('DrupalChat smileys');
    34. $items = array();
    35.  
    36. $drupalchat_path = drupal_get_path('module', 'drupalchat');
    37. $drupalchat_smileys_path = $drupalchat_path . '/smileys/very_emotional_emoticons-png/png-32x32';
    38. // collecting smileys
    39. // http://php.net/manual/en/function.glob.php
    40. $drupalchat_smileys_array = glob($drupalchat_smileys_path.'/{*.gif}', GLOB_BRACE);
    41. foreach ($drupalchat_smileys_array as $filename) {
    42. $image_variables = array(
    43. 'path' => $filename,
    44. 'attributes' => array( 'class' => array('drupalchat-smileys-image')),
    45. 'alt' => 'DrupalChat smileys',
    46. );
    47. $items[] = theme('image', $image_variables);
    48. }
    49.  
    50. $block['content'] = theme('item_list', array('items' => $items, 'attributes' => array('class' => 'drupalchat-smileys-block inline clearfix'), 'type' => 'ul'));
    51. }
    52. break;
    53.  
    54. }
    55. return $block;
    56. }
  5. Most engedélyezd az új modulodat az
    admin/modules
    oldalon.
  6. Helyezd el az új blokkot az
    admin/structure/block
    oldalon a kívánt helyre!
  7. Kész vagy. Ilyesmi lesz az eredmény:

    list of DrupalChat smileys

    Ezt aztán tetszőlegesen testreszabhatod még CSS-sel.
    Persze a smiley-kat táblázatszerűen is ki lehetne íratni, itt most egy egyszerű rendezetlen lista-formátumban került kiíratásra.

Remélem, ez kezdetnek jó lesz!

BÚÉK!

4
0

Hibaüzenetek:mitől??

hologramember képe

Kedves Drupálos honfitársaim! :)
Szomorú vagyok..
A leírásnak megfelelően telepítettem egy alkönyvtárba a drupalt.
Az indítás után ezt a hibaüzenetlistát kaptam, vajon miért?
A segítséget köszi!

Warning: ini_set(): A session is active. You cannot change the session module's ini settings at this time. in /home/hologramember/www.hologramember.hu/html/drupal/sites/default/settings.php on line 128

Warning: Cannot modify header information - headers already sent by (output started at /home/hologramember/www.hologramember.hu/html/drupal/sites/default/settings.php:128) in /home/hologramember/www.hologramember.hu/html/drupal/includes/bootstrap.inc on line 562

Képek importálása

sajt képe

Elég sokáig keresgéltem a megfelelő megoldást képek importálására. Egy olyan projecten dolgozom, ahol egy régi adatbázisból kell híreket importálni.

Az adatbázis tábla következőképpen néz ki:

CREATE TABLE `hirek` (
`id` int(10) unsigned NOT NULL auto_increment,
`nev` blob,
`lead` blob,
`hir` blob,
`datum` datetime default NULL,
`aktiv` int(11) default '1',
`kiskep` mediumblob,
`kep` mediumblob,
`link` varchar(255) default NULL,
PRIMARY KEY (`id`)
);

Tizenegyedik Drupal használói találkozó Budapesten

tolmi képe

Novemberben is megrendezésre kerül a szokásos Drupal Használói Találkozó, ezúttal sorrendben a tizenegyedik alkalommal. Ezen rendezvények elsődleges célja hogy összehozza a Drupal iránt érdeklődőket, a már Drupalt használó felhasználókat és a Drupallal, vagy Drupalt magát fejlesztőket, lehetővé téve egymás megismerését, segítését valamint a párbeszédet ezen kiváló alkalmazás kapcsán.

Időpont: 
2008. november 27., csütörtök 19.30 - 21.00

Képek importálása

sajt képe

Elég sokáig keresgéltem a megfelelő megoldást képek importálására. Egy olyan projecten dolgozom, ahol egy régi adatbázisból kell híreket importálni.

Az adatbázis tábla következőképpen néz ki:

CREATE TABLE `hirek` (
`id` int(10) unsigned NOT NULL auto_increment,
`nev` blob,
`lead` blob,
`hir` blob,
`datum` datetime default NULL,
`aktiv` int(11) default '1',
`kiskep` mediumblob,
`kep` mediumblob,
`link` varchar(255) default NULL,
PRIMARY KEY (`id`)
);

Teljesítmény gondok; reklamáljak, váltsak szolgáltatót, vagy nézzek magamba?

szantog képe

Meggyűlt a bajom a teljesítménnyel. Nem tudom eldönteni, hogy én vagyok szerencsétlen, vagy a szolgáltatónál keressem a gondot.
Shared hostingot használok, kizárólag külső modulokkal, vagyis én tpleken + néhány belső (views pl) scripten kívül nem sok mindent kavartam, ami a kódolást illeti.
A teljesítmény beállításoknál Gyorstárazás bekapcsolva, minimális gyorstár élettartam nincs, Blokk gyorstár: Tiltott, CSS fájlok optimalizálása: Tiltott (kell még a sminkeléshez, amúgy ha bekapcsoltam sem volt nagy különbség), JavaScript fájlok optimalizálása: Engedélyezett.

Drupal verzió: 

Informatikus és Rendszergazda állások Drupal fejlesztéssel

itrax képe

Munkakör: Informatikus (Drupal fejlesztéssel)

Feladata:
Windows-os és Linux-os munkaállomások és hálózati eszközök karbantartása, létesítése, hangolása, bővítése és alkatrészeinek cseréje;
Felhasználók informatikai és adatvédelmi támogatása;
Jogosultságok kezelése;
Informatikai rendszerek nyilvántartása (hardware, software leltár);
Közreműködés a Hivatal Drupal alapú honlapjának kialakításában és karbantartásában;
Közreműködés a Hivatal adatvédelmi politikájának kialakításában és megvalósításában.

Elvárások:
Microsoft kliens termékek ismerete (Windows, Office);

Importált képek törlése

aruna képe

Egy 'pic' tartalomtípusban képeket tárolok (egy node-hoz egy kép csatolható).

Szeretném programból törölni az összes 'pic' tartalomtípusba tartozó node-ot törölni és a hozzá tartozó csatolt fájlokat is.

Drupal verzió: