我想更改下面的函数,
function user_block_view($delta = '') { // Line 1 //
global $user; // Line 2 //
$block = array(); // Line 3 //
switch ($delta) { // Line 4 //
case 'login': // Line 5 //
if (!$user->uid && !(arg(0) == 'user' && !is_numeric(arg(1)))) {
$block['subject'] = t('User login'); // Line 7 //
$block['content'] = drupal_get_form('user_login_block');
} // Line 9 //
return $block; // Line 10
...
} // Line n
我其实想添加
else if($user -> uid){
$block['subject'] = t('Subject');
$block['content'] = someotherfunction();
}
在上述代码的第 9 行之后。
如何在我的模板中实现它.php(自定义主题)
我尝试了很多,但没有成功。
<?php
function phptemplate_preprocess_block(&$vars) {
if (isset($vars['block'])) {
if($vars['block']->module == 'user') {
global $user;
if (!$user->uid && !(arg(0) == 'user' && !is_numeric(arg(1)))) {
$vars['block']->subject = t('User login');
$vars['block']->content = drupal_get_form('user_login_block');
}
else if($user->uid){
$vars['block']->subject = t('Subject');
$vars['block']->content = someotherfunction();
}
}
}
}
这应该行得通。
以下是更多信息:如何在drupal中覆盖$block>内容?
switch ($delta) { // Line 4 //
case 'login': // Line 5 //
if (!$user->uid && !(arg(0) == 'user' && !is_numeric(arg(1)))) {
$block['subject'] = t('User login'); // Line 7 //
$block['content'] = drupal_get_form('user_login_block');
}
else if($user->uid){ // Line 9 //
$block['subject'] = t('Subject');
$block['content'] = someotherfunction();
}
return $block; //
但是删除$user -> uid
之间的所有空格。