Saját modulban saját blokkok - a második blokk nemjelenik meg

Phoere képe

Sziasztok,

Egy egyszerű saját modulban akarok blokkokat létrehozni. Látszólag minden rendben van, de a második blokk nem jelenik meg a blokkok admin oldalán, csak az első. Nem tudok rájönni, mi lehet a hiba, hátha valaki kapásból kiszúrja, mi a hiba.

  1. <?php
  2.  
  3. // $Id: datum_block.module Exp $
  4.  
  5. /**
  6.  * Implementation of hook_block_info().
  7.  */
  8. function datum_block_info() {
  9. $blocks = array();
  10. $blocks['datum-block-id'] = array(
  11. 'info' => t('Date in head'),
  12. 'status' => 1
  13. );
  14.  
  15. $blocks['welcome-block-id'] = array(
  16. 'info' => t('Welcome in head'),
  17. 'status' => 1
  18. );
  19. return $blocks;
  20. }
  21.  
  22. /**
  23.  * Implementation of hook_block_view().
  24.  */
  25. function datum_block_view($delta='') {
  26. $block = array();
  27. switch ($delta) {
  28. case 'datum-block-id':
  29. $block['subject'] = t('Date in header');
  30. $block['content'] = datum_block_contents();
  31. break;
  32.  
  33. case 'welcome-block-id':
  34. $block['subject'] = t('Welcome in header');
  35. $block['content'] = welcome_block_contents();
  36. break;
  37. };
  38. return $block;
  39. }
  40.  
  41. /**
  42.  * custom html block
  43.  * @return string
  44.  */
  45. function datum_block_contents() {
  46.  
  47. $block = '<div class="header-date">... </div>';
  48. return $block;
  49.  
  50.  
  51. }
  52.  
  53. function welcome_block_contents() {
  54. $block = '<div class="header-welcome">...</div>';
  55. return $block;
  56.  
  57.  
  58. }

Köszönöm!

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

Helyesbítek, egyik blokk sem jelenik meg, csak volt az elsővel azonos nevű másik blokkom, az kavart be.

Úgyhogy végképp elakadtam eddig.

0
0

Csökönyi Ferenc

pp képe

A hook_* helyett datum_block_* kell legyen, ami így elég hülyén fog kinézni, de ez van. :D

datum_block_block_info()
datum_block_block_view()

pp

1
0
Phoere képe

Köszi, ez valóban hiba volt (és nem szépséghiba :) , így inkább átneveztem a modult custom_module névre. Ennek alapján módosítottam a kódot, de sajnos így sem működik még. Inkább mindenhová betettem előre a modul nevét, bár egy részük nyilván felesleges.

  1. <?php
  2.  
  3. // $Id: custom_module.module Exp $
  4.  
  5. /**
  6.  * Implementation of hook_block_info().
  7.  */
  8. function custom_module_block_info() {
  9. $blocks = array();
  10. $blocks['custom-module-datum-id'] = array(
  11. 'info' => t('Date in header'),
  12. 'status' => 1
  13. );
  14.  
  15. $blocks['custom-module-welcome-id'] = array(
  16. 'info' => t('Welcome in header'),
  17. 'status' => 1
  18. );
  19. return $blocks;
  20. }
  21.  
  22. /**
  23.  * Implementation of hook_block_view().
  24.  */
  25. function custom_module_block_view($delta='') {
  26. $block = array();
  27. switch ($delta) {
  28. case 'custom-module-datum-id':
  29. $block['subject'] = t('Date in header');
  30. $block['content'] = custom_module_datum_contents();
  31. break;
  32.  
  33. case 'custom-module-welcome-id':
  34. $block['subject'] = t('Welcome in header');
  35. $block['content'] = custom_module_welcome_contents();
  36. break;
  37. };
  38. return $block;
  39. }
  40.  
  41. /**
  42.  * custom html block
  43.  * @return string
  44.  */
  45. function custom_module_datum_contents() {
  46.  
  47. $block = '<div class="header-date">... </div>';
  48. return $block;
  49.  
  50.  
  51. }
  52.  
  53. function custom_module_welcome_contents() {
  54.  
  55. $block = '<div class="header-welcome">...</div>';
  56. return $block;
  57.  
  58.  
  59. }

Újabb ötlet esetleg?

0
0

Csökönyi Ferenc

Phoere képe

Jobb híjján belenéztem az SQL adatbázisba és a block táblában belekerült mindkét blokk. Viszont a 'region' érték üres maradt a '-1' helyett (a ami a tiltottnak felel meg).

Tehát módosítottam az block_info függvényeket így, és ekkor már jó lett:

  1. function custom_module_block_info() {
  2. $blocks = array();
  3. $blocks['custom-module-datum-id'] = array(
  4. 'info' => t('Date in head'),
  5. 'status' => 1,
  6. 'region' => '-1'
  7. );
  8.  
  9. $blocks['custom-module-welcome-id'] = array(
  10. 'info' => t('Welcome in head'),
  11. 'status' => 1,
  12. 'region' => '-1'
  13. );
  14. return $blocks;
  15. }
0
0

Csökönyi Ferenc