教えて頂いた方法で画像が表示されました。
しかしながら、のぶのぶさんのsysutil多言語モジュールを使用していまして、英日と別の画像を表示させています。
Quote:
<{php}>
global $xoopsModule , $xoopsUser ;
$xoops_url = XOOPS_URL ;
$xoops_imageurl = XOOPS_THEME_URL.'/'.テーマ名.'' ;
$submenu_str = "" ;
$mainmenu_str = "
<tr>
<td class='head_menu_left' width='15'> </td>
<td class='head_menu'>
<a href='$xoops_url/'>[ja]<img src='$xoops_imageurl/home-J.gif' />[/ja][en]<img src='$xoops_imageurl/home-E.gif' />[/en]</a> |
<a href='$xoops_url/modules/news/'>[ja]<img src='$xoops_imageurl/news-J.gif' />[/ja][en]<img src='$xoops_imageurl/news-E.gif' />[/en]</a> |
(あとは適当に挿入)
</td>
<td class='head_menu_right'></td>
</tr>?n" ;
としておりますため、このままでは言語切替で表示を変えることが出来ません。したがって、それ以下の部分を
Quote:
if( isset( $xoopsModule ) && is_object( $xoopsModule ) ) {
$dirname = $xoopsModule->getVar( 'dirname' ) ;
$mainmenu_str = str_replace( "/{$dirname}-J.gif'" , "/{$dirname}-J_highlite.gif'" , $mainmenu_str ) ;
$mainmenu_str = str_replace( "/{$dirname}-E.gif'" , "/{$dirname}-E_highlite.gif'" , $mainmenu_str ) ;
$sublinks =& $xoopsModule->subLink();
if( count( $sublinks ) > 0 ) {
$submenu_str .= " <tr>?n <td class='sub_menu_left' width='15'> </td>?n <td class='sub_menu'>?n " ;
foreach( $sublinks as $sublink ) {
$submenu_str .= "<a href='$xoops_url/modules/$dirname/{$sublink['url']}'>{$sublink['name']}</a> |?n";
}
$submenu_str .= " </td>?n <td class='sub_menu_right'></td>?n </tr>?n" ;
}
} else {
$mainmenu_str = str_replace( "/home-J.gif'" , "/home-J_highlite.gif'" , $mainmenu_str ) ;
$mainmenu_str = str_replace( "/home-E.gif'" , "/home-E_highlite.gif'" , $mainmenu_str ) ;
if( $xoopsUser ) {
$pm_handler =& xoops_gethandler('privmessage');
$criteria = new CriteriaCompo(new Criteria('read_msg', 0));
$criteria->add(new Criteria('to_userid', $xoopsUser->getVar('uid')));
$new_messages = $pm_handler->getCount($criteria);
if( $xoopsUser->isadmin() ) $admin_link = "<a href='$xoops_url/admin.php' target='_blank'>Admin</a>" ;
if( $new_messages > 0 ) {
$pm_str = "<span style='color:#ff0000; font-weight: bold;'> ($new_messages)</span>" ;
$pm_class = "class='highlight'" ;
} else {
$pm_str = '' ;
$pm_class = '' ;
}
$submenu_str .= "
<tr>
<td class='sub_menu_left' width='15'> </td>
<td class='sub_menu'>
<a href='$xoops_url/user.php'>View Account</a> |
<a href='$xoops_url/edituser.php'>Edit Account</a> |
<a href='$xoops_url/notifications.php'>Notifications</a> |
<a href='$xoops_url/viewpmsg.php' $pm_class>Inbox$pm_str</a> |
$admin_link
</td>
<td class='sub_menu_right'></td>
</tr>?n" ;
}
}
echo $mainmenu_str ;
echo $submenu_str ;
<{/php}>
のように些か強引な手法で書き換えてみましたところ、英日で別々の画像を表示することが出来ました。本来ならば、もっと良い方法があるとは思います。
GIJOEさんのご意見をお聞かせ下さい。