If you want to remove blog_usernames_blog from $link, put this in template.php
/* duplicate theme_links() and add the 3rd line (marked with HERE) */ function phptemplate_links($links, $attributes = array('class' => 'links')) { $output = '';
// HERE: just add this line, the rest are from theme_links() unset($links['blog_usernames_blog']);
if (count($links) > 0) { $output = '<ul'. drupal_attributes($attributes) .'>';
$num_links = count($links); $i = 1;
foreach ($links as $key => $link) { $class = $key;
// Add first, last and active classes to the list of links to help out themers. if ($i == 1) { $class .= ' first'; } if ($i == $num_links) { $class .= ' last'; } if (isset($link['href']) && ($link['href'] == $_GET['q'] || ($link['href'] == '<front>' && drupal_is_front_page()))) { $class .= ' active'; } $output .= '<li'. drupal_attributes(array('class' => $class)) .'>';
if (isset($link['href'])) { // Pass in $link as $options, they share the same keys. $output .= l($link['title'], $link['href'], $link); } else if (!empty($link['title'])) { // Some links are actually not links, but we wrap these in <span> for adding title and class attributes if (empty($link['html'])) { $link['title'] = check_plain($link['title']); } $span_attributes = ''; if (isset($link['attributes'])) { $span_attributes = drupal_attributes($link['attributes']); } $output .= /*'<span'. $span_attributes .'>'.*/ $link['title'] /*.'</span>'*/; }
$i++; $output .= "</li>\n"; }
$output .= '</ul>'; }
return $output; }
For changing $submitted, add to your template.php function phptemplate_node_submitted($node) { // make your changes return t('By !username (posted on @datetime)'), array( '!username' => theme('username', $node), '@datetime' => format_date($node->created), )); }
For phptemplate_preprocess_node, if you want to introduce new variables or modify existing one. Of course it can be used to change submitted as well, but not $links as it has been generated.
function phptemplate_preprocess_node(&$vars, $hook) { $author = theme('username', $vars['node']); $date = format_date($vars['node']->created, 'medium'); $vars['submitted'] = $author . ' - ' . $date; }
Cheers, CK Ng
forDrupal Premium Themes (http://fordrupal.com) - we make drupal beautiful
On Tue, Apr 14, 2009 at 1:50 PM, brendan, fresh-off.com <hello@fresh-off.com
wrote:
Here's as far as I was able to get using CK Ng's suggestion:
function phptemplate_preprocess_node(&$vars, $hook) {
//try to remove 'blog_usernames_blog' from links array
$vars['links'] = unset($links[0]);
}
it throws this error on the template.php page:
*Parse error: syntax error, unexpected T_UNSET*
As I said, writing php from scratch is difficult for me. Am I even on the right track?
Thanks for any help!
Brendan
*From:* themes-bounces@drupal.org [mailto:themes-bounces@drupal.org] *On Behalf Of *brendan, fresh-off.com *Sent:* Monday, April 13, 2009 6:02 PM
*To:* 'A list for theme developers' *Subject:* Re: [themes] targeting variables in my node-blog.tpl.php file
*Thanks for your responses CK Ng and J. Sint Jago!*
I don’t think my PHP skills are good enough to write the necessary function from scratch. However, I'm usually able to modify existing examples.
CK, Based on your response to Sebastian and the reading on Drupal.org, it seems I need to add phptemplate_preprocess_node() to template.php. But I'm not sure exactly how its supposed to be written.
Using the Devel Mod I got the following info (or see attached screenshot):
parents: node.tlp.php < page.tlp.php
function called: theme_links()
Candidates Function names: myTheme_links < phptemplate_links < theme_links
Next it lists 2 arrays for the theme_links() function. Those elements are: links array & attributes array
The links array has 3 elements, the first of which is the array I don’t want to display: blog_usernames_blog
I think that’s all of the information I need, but I'm still not sure what to do next, or where to find an example of the code to modify and insert into template.php to keep it from showing blog_usernames_blog.
I'm stuck, any further suggestions?
*From:* themes-bounces@drupal.org [mailto:themes-bounces@drupal.org] *On Behalf Of *Ng Chin Kiong *Sent:* Friday, April 10, 2009 2:09 AM *To:* A list for theme developers *Subject:* Re: [themes] targeting variables in my node-blog.tpl.php file
brendan,
You can use template preprocessor. See my latest reply on "Re: how to stop a 'view' from showing a field?"
Cheers, CK Ng
forDrupal Premium Themes (http://fordrupal.com)
- we make drupal beautiful
On Fri, Apr 10, 2009 at 3:53 PM, brendan, fresh-off.com < hello@fresh-off.com> wrote:
*Hello, *
I can't seem to figure out how to effectively target two different values in my node-blog.tpl.php file:
*$submitted*
*$links*
For the $submitted value, I'd like to insert some xhtml tags in there so that I can target them with CSS.
Currently it writes the data to the page like this:
Submitted by super_user on April 9, 2009 - 2:49pm
But I'd like to get some xhtml tags around the *User* and the *Month*. It would also be nice if I could delete the hour - but that’s not as important.
For the *$links* value, I'd like to figure out how to remove the *Author*. Currently, the $links value writes*:**"Author's Blog", "Read More...",*and *"Add comments"* to the teaser. How do I remove just the "Authors blog" info from the $links value?
Unfortunately, I know enough PHP to get myself confused a lot, and I've been googling and searching Drupal.org all day with no luck.
Hopefully the nice folks on this list can help!!
*brendan, fresh-off.com*
Creative Direction & Consultation: Web | Print | Brand
hello@fresh-off.com
206.328.1067
seattle.usa
themes mailing list themes@drupal.org http://lists.drupal.org/mailman/listinfo/themes
themes mailing list themes@drupal.org http://lists.drupal.org/mailman/listinfo/themes