Start off with implementing the hook_theme() function in your module:
/** * Implements hook_theme() * @param type $existing * @param type $type * @param type $theme * @param type $path * @return array */ function mypm_theme($existing, $type, $theme, $path) { $themes = array( 'chat' => array( 'variables' => array( 'message' => NULL, 'author' => NULL, 'date_posted' => NULL, 'is_sender' => NULL, 'product_url' => NULL, ) ), ); return $themes; }
What I've declared in the function is that I have a custom theme function called "chat". It takes in 5 variables defined in the variables array. As always, remember to clear Drupal's cache once you've defined a new theme function. Now that we have declared our theme function, we'll have to implement it:
function theme_chat($variables) { $main_style = 'chat-holder'; if (isset($variables['is_sender'])) { if ($variables['is_sender'] == TRUE) { $main_style .= ' chat-holder-sent'; } else { $main_style .= ' chat-holder-received'; } } else { $main_style .= ' chat-holder-received'; } $output = ''; $output .= ''; return $output; } '; $output .= ''; $output .= format_date($variables['date_posted']); $output .= ''; $output .= ' '; $output .= $variables['product_url']; $output .= '
The theme_chat function builds the HTML output based on the variables passed in. You can now use this theme function in your form or normal page callback like below:
$chat_output .= theme('chat', array( 'message' => $chat->message, 'author' => $chat->author_name, 'date_posted' => $chat->created, 'is_sender' => $chat->sender, 'product_url' => $chat->product_url, ));
No comments:
Post a Comment