[support] Block visibility quandry

Richard Burford rich at freestylesystems.co.uk
Thu May 29 11:08:24 UTC 2008


Or maybe:

<?php
((arg(0) == 'user') && is_numeric(arg(1)) && (arg(2) == NULL)) ?  
return TRUE : return FALSE;
?>

Which is equivalent to:

<?php
if ((arg(0) == 'user') && is_numeric(arg(1)) && (arg(2) == NULL)) {
   return TRUE;
}
else {
   return FALSE;
}
?>

The above condition was pilfered directly from profile.module in  
Drupal 6.

psynaptic
http://freestylesystems.co.uk
http://api.freestylesystems.co.uk

On 29 May 2008, at 11:59, Richard Burford wrote:

> How about:
>
> <?php
> (arg(0) == 'user' && is_numeric(arg(1)) && is_null(arg(2))) ? return
> TRUE : return FALSE;
> ?>
>
> psynaptic
> http://freestylesystems.co.uk
> http://api.freestylesystems.co.uk
>
> On 29 May 2008, at 11:46, Neil: esl-lounge.com wrote:
>
>> I am almost there. Right now I have:
>>
>> <?php
>> if(arg(0)==user && ctype_digit(arg(1)) && arg(2)!=edit) {
>> return TRUE;
>> } else {
>> return FALSE;
>> }
>> ?>
>>
>> which prevents the block from showing on user/2/edit, etc. Is there
>> a way I can check for the existence of arg(2) and not show the block
>> if it exists? That would eliminate user/2/edit, user/2/track, user/2/
>> contact and some other possibilities. I could manually alter my
>> current code to block out contact/track but I'd prefer a kill-all
>> solution.
>>
>> thanks
>>
>> Neil
>> ----- Original Message -----
>> From: Shai Gluskin
>> To: support at drupal.org
>> Sent: Wednesday, May 28, 2008 1:32 PM
>> Subject: Re: [support] Block visibility quandry
>>
>>
>> Hi Neil,
>>
>> I don't know if the UI for the block module settings will allow
>> regular expressions. I doubt it, but give it a try and report back.
>>
>> However, what will surely work is putting in your own php. Have you
>> noticed that radio for adding PHP to return "TRUE" to make block
>> visible? That's your answer.
>>
>> Here's a code snippet that should get you started:
>> http://drupal.org/node/64135#page-visibility
>>
>> Here is one that is a little more sophisticated which was designed
>> for the Google Analytics module... when to include the tracking code
>> on a page -- totally analogous to block visibility:
>> http://drupal.org/node/261997
>>
>> Good luck. And please add your snippet to the handbook page.
>>
>> Shai
>>
>>
>> On Wed, May 28, 2008 at 5:57 AM, Neil: esl-lounge.com <neil at esl-lounge.com
>>> wrote:
>>
>>   I have a block which I show on a user's main page, user/1, user/
>> 2, etc.
>>
>>   I have set block visibility to "only show on pages" with user/*
>> entered below.
>>
>>   Unfortunately, it's also showing on user/register, user/password.
>>
>>   I don't suppose I can use regular expressions to make the
>> wildcard ONLY numeric, can I? How would I get the block to show on
>> user/7 but not user/register?
>>
>>   Thanks
>>
>>   Neil
>>
>>   --
>>   [ Drupal support list | http://lists.drupal.org/ ]
>>
>>
>>
>>
>>
>> ------------------------------------------------------------------------------
>>
>>
>> --
>> [ Drupal support list | http://lists.drupal.org/ ]--
>> [ Drupal support list | http://lists.drupal.org/ ]
>
> -- 
> [ Drupal support list | http://lists.drupal.org/ ]



More information about the support mailing list