nefunkční výpis bloku pomocí module_invoke()
30.8.2012, Návštěvník (neověřeno)
Prosím o radu – v Drupalu 7 mi nefunguje výpis obsahu bloku touto
konstrukci:
$nadpis = module_invoke(‚block‘, ‚block_view‘, ‚2‘); print
render($nadpis);
Jde tedy o vypis bloku, ktery ma "block_delta"=2.
Konstrukci jsem prevzal primo „u zdroje“ (http://drupal.org/node/1034524),
zadané parametry jsou správné…Pokusny vypis jineho bloku (prihlasovaciho formulare) podobnou konstrukci $nadpis = module_invoke('user', 'block_view', 'login')
funguje. Děkuji za jakoukoli radu !
TC
Fórum:
Volná místa v IT
- Quality assurance engineer (40 - 60.000,- Kč) (Advantage Consulting, s.r.o.)
- Vývojář pro android (30 – 55.000,- Kč) (Advantage Consulting, s.r.o.)
- Managed Services Consultant with French based in lovely Prague! (Teradata Česká republika, spol. s r. o.)
- Programátor s AJ - MS dynamics NAV (od 40.000,- Kč) (Advantage Consulting, s.r.o.)
- Test elektroinženýr v automotive s AJ/NJ (Advantage Consulting, s.r.o.)

















Taktéž používám řešení z výše
Jan Polzer (www.polzer.cz/) 30.8.2012 21:13:03 (#8842)Taktéž používám řešení z výše uvedeného zdroje, konkrétně toto. Ten module invoke Vám tedy nic nevrátí? Koukal jste do jeho obsahu?
Majitel Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal. Jsem i na Twitteru.
nefunkční výpis bloku pomocí module_invoke()
Viktor Levitus (neověřeno) 31.8.2012 10:47:34 (#8844)Pole $nadpis po vypsání obsahuje toto:
subject:
content:Libovolný nadpis upoutávky
#printed: 1
#children:
Obsah odpovídající klíči "content" je obsah bloku, který potřebuji vypsat...ale zpusobem render($nadpis) se nevypíše nic...
Takto se to chová v případě nově vytvořených "custom" bloků (mají block_delta='1' nebo '2'). Pokud zkusím vypsat některý systémový blok - například přihlašovací formulář ( module_invoke('user', 'block_view', 'login') ) obsah se vypíše bez problémů...Díky za radu.
Zdravim, zkuste$block = block
Michal Reznicek 1.9.2012 11:54:48 (#8846)Zdravim, zkuste
$block = block_load('block', '1');
$output = drupal_render(_block_get_renderable_array(_block_render_blocks(array($block))));
print $output;
Dobrý den, děkuji , funguje
Viktor Levitus (neověřeno) 3.9.2012 09:55:45 (#8855)Dobrý den, děkuji , funguje to ! :-) Jakým způsobem lze takto vypsat pouze část bloku (například pokud chci vypsat pouze tělo bloku bez nadpisu bloku) ?
Nad tim jsem nikdy
Michal Reznicek 3.9.2012 10:57:10 (#8856)Nad tim jsem nikdy nepremejslel, pokud nechcete zobrazit nadpis, tak date do nadpisu v nastaveni bloku <none>