ホーム画面などで、一部のアイコン画像が表示されない
出典: SugarForum.jp
getImagePath() 関数
Sugar5.1で、utils.php に getImagePath() 関数が追加されたが、関数内の最初の行に間違い(?)がある。次に示すように、'/'を追加しないように改変すればOK。
SugarRoot/include/utils.php
function getImagePath($image_name){
//$image_path = $GLOBALS['image_path'] . '/' . $image_name;
$image_path = $GLOBALS['image_path'] . $image_name;
//省略
}
ログイン画面の問題
上記と同じような理由で、ログイン画面のアイコンが表示されないケースがある。その場合は、下記のファイル内の249行目付近のコードから、「advanced_search.gif」の手前の「/」を取り除けば良い。
SugarRoot/modules/Users/Login.php<td colspan="2" align="right">
<a href='javascript:void(0)'><IMG src="<?php echo
$GLOBALS['image_path']; ?>/advanced_search.gif" border="0" alt="Hide Options"id="options"> <?php echo $mod_strings['LBL_LOGIN_OPTIONS']; ?></a>
補記
$GLOBALS['image_path'] を設定しているのは、
SugarRoot/include/MVC/SugarApplication.php
内の、loadDisplaySettings() 関数。こちらで
$GLOBALS['image_path'] = 'themes/'.$GLOBALS['theme'].'/images/';
の行を書き換える手もあるが、旧来のテーマファイルとの互換性が取れなくなる可能性がある。