[development] Block visibility only in module pages

ktt kestutis98 at yahoo.com
Thu Jan 28 13:13:11 UTC 2010


Thank you, it works!
I found, that Drupal recommends to use named arguments with menu callback functions as a better practice:
http://api.drupal.org/api/function/arg/5

Regards,
Ktt
--- On Wed, 1/27/10, William Smith <william.darren at gmail.com> wrote:

> From: William Smith <william.darren at gmail.com>
> Subject: Re: [development] Block visibility only in module pages
> To: development at drupal.org
> Date: Wednesday, January 27, 2010, 8:47 PM
> I don't recall if there is a cleaner way
> to do this in Drupal 5, but as a kludge in your
> 'view' case you could check the path and only return
> the block array if you are on an admin page.
> 
> For example:
> 
> 
> case 'view':
>   $blocks['subject'] = t('Create email
> contacts');
>   $blocks['content'] = t('My email contact
> content');
>   if (arg(0) == 'admin') {
>     return $blocks;
> 
>   }
> 
> On Wed, Jan 27, 2010 at 1:18 PM,
> ktt <kestutis98 at yahoo.com>
> wrote:
> 
> Thank you for exact answer.
> 
> I use DRUPAL 5.21, and it seems, this option
> 
> isn't available:
> 
> http://api.drupal.org/api/function/block_example_block/5
> 
> 
> 
> My code didn't work for admin/* :
> 
> 
> 
> function EmailM_block($op='list' , $delta=0,
> $edit=array()) {
> 
>   switch ($op) {
> 
>     case 'list':
> 
>       $blocks[0] = array(
> 
>         'info'       => t('Example:
> EMAIL M'),
> 
>         'status'     => TRUE,
> 
>         'weight'     => 0,
> 
>         'visibility' => 1,
> 
>         'pages'      =>
> 'admin/*',
> 
>       );
> 
>       return $blocks;
> 
>     case 'view':
> 
>       $blocks['subject'] = t('Create email
> contacts');
> 
>       $blocks['content'] = t('My email
> contact content');
> 
>       return $blocks;
> 
>   }
> 
> 
> 
> }
> 
> 
> 
> Regards,
> 
> Ktt
> 
> 
> 
> --- On Wed, 1/27/10, William Smith <william.darren at gmail.com>
> wrote:
> 
> 
> 
> > From: William Smith <william.darren at gmail.com>
> 
> > Subject: Re: [development] Block visibility only in
> module pages
> 
> > To: development at drupal.org
> 
> > Date: Wednesday, January 27, 2010, 6:44 PM
> 
> > Yes, you should be
> able to do this from the
> 
> > module code.  See the block_example code at http://api.drupal.org/api/function/block_example_block/6
> 
> >
> 
> >
> 
> > Note the 'pages' array element (in the example
> code
> 
> > it is specified as 'node/*').  In your case,
> you
> 
> > would want to set this to
> 'admin/build/modules'
> 
> >
> 
> > Best,
> 
> > William
> 
> >
> 
> >
> 
> > On Wed, Jan 27, 2010 at 11:33 AM, ktt <kestutis98 at yahoo.com>
> 
> > wrote:
> 
> >
> 
> > Hello,
> 
> >
> 
> >
> 
> >
> 
> > Is it possible to define block to show only in module
> 
> > pages?
> 
> >
> 
> > I would like to define that in module code - is it
> 
> > possible?
> 
> >
> 
> >
> 
> >
> 
> > Thank you in advance,
> 
> >
> 
> > Ktt
> 
> >
> 
> >
> 
> >
> 
> >
> 
> >
> 
> >
> 
> >
> 
> >
> 
> >
> 
> >
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 


      


More information about the development mailing list