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 .= '';
$output .= '';
$output .= format_date($variables['date_posted']);
$output .= '';
$output .= '';
$output .= $variables['product_url'];
$output .= '';
return $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