[support] getting block to show up for specific pages and specific node type
brendan, fresh-off.com
hello at fresh-off.com
Tue Nov 10 00:09:16 UTC 2009
Shai
thanks a lot for your input, it was VERY helpful! after some messing about
with it, here's what seems to work when I have the "PHP Mode" checked in
"Page specific visibility settings" for configuring the block:
<?php
// makes block appear if content type = blog
if ((arg(0) == 'node') && is_numeric(arg(1)) && !(arg(2))) {
$thenode = node_load(arg(1));
if ($thenode->type == 'blog') {
return TRUE;
}
}
//makes block appear if "blog" is in the URL
$url = request_uri();
if (strpos($url, "blog")) {
return TRUE;
}
?>
----
brendan, fresh-off.com
Creative Direction & Consultation: Web | Print | Brand
http://fresh-off.com
hello at fresh-off.com
206.328.1067
From: support-bounces at drupal.org [mailto:support-bounces at drupal.org] On
Behalf Of Shai Gluskin
Sent: Monday, November 09, 2009 8:53 AM
To: support at drupal.org
Subject: Re: [support] getting block to show up for specific pages and
specific node type
He Brendan,
You are on the right track. You just have to add some more php to do another
test. A slight change in the structure is that you need to make a variable
for the display status and then return it only at the end of the whole
snippet. When there is only one test, you can just set the status "True" or
"False" directly with a return statement that is in the chunk of code as the
test itself (that was how your original snippet did it).
Note that I did NOT test the code, so there definitely could be a type in
there.
I posted it to a pastebin: http://pastebin.ca/1663597
Shai
Hello,
I found a code snippet on drupal.org that allows a block to be shown only on
specific node types when 'Show if the following PHP code returns TRUE' is
checked on the Configure Blocks page:
-----
<?php
if ((arg(0) == 'node') && is_numeric(arg(1)) && !(arg(2))) {
$thenode = node_load(arg(1));'
if ($thenode->type == 'blog') {
return TRUE;
}
}
?>
-----
this works great, except for that I'd like the block to show for nodes of
type "blog" AND also on specific pages - in my case www.mysite.com/blog
which is a view showing a list of blogs. How can I do both?
----
brendan, fresh-off.com
Creative Direction & Consultation: Web | Print | Brand
http://fresh-off.com
hello at fresh-off.com
206.328.1067
--
[ Drupal support list | http://lists.drupal.org/ ]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.drupal.org/pipermail/support/attachments/20091109/6fe63318/attachment-0001.html
More information about the support
mailing list