返信する: 携帯対応テンプレートフォーラム


オプション

参照

Re: XSNS アバター編集をプルダウンメニューにしたい
投稿者: naao 投稿日時: 2008/9/17 9:01

こんにちは。

少し試してみましたが、私の場合もphpソースを変更しないとうまくいきませんでした。 :-?  他に方法があるかもしれませんが、取り急ぎ以下の方法でどうでしょう。

ソース 「profile_avatar_sel_execAction」

の冒頭部分(41行目あたりから)を、下記のように編集します。

29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
class Xsns_Profile_avatar_sel_exec_Action extends Xsns_Mypage_Action
{
function dispatch()
{
    if($this->isGuest()){
        redirect_header(XOOPS_URL, 2, _NOPERM);
    }
    
    require XSNS_FRAMEWORK_DIR.'/global.php';
    require_once XOOPS_ROOT_PATH.'/class/xoopsformloader.php';
    require_once XOOPS_ROOT_PATH.'/language/'.$xoopsConfig['language'].'/user.php';
 
    //if (!$this->validateToken('choose') || !is_object($xoopsUser) || !isset($_POST['avatar_id']) || !is_array($_POST['avatar_id']) || count($_POST['avatar_id'])>1) {
    if (!$this->validateToken('choose') || !is_object($xoopsUser) || !isset($_POST['avatar_id']) || count($_POST['avatar_id'])>1) { //naao
        redirect_header(XSNS_URL_MYPAGE_PROFILE, 3, _US_NOEDITRIGHT);
    }
    
    // Check is K-TAI?
    if (defined('HYP_K_TAI_RENDER') && HYP_K_TAI_RENDER) {
        $avatar_id = $_POST['avatar_id'] ;
    } else {
        global $xoopsTpl;
        if ($xoopsTpl->_tpl_vars['wizmobile_ismobile']) {
            $avatar_id = $_POST['avatar_id'] ;
        } else {
            foreach($_POST['avatar_id'] as $id => $value){
                $avatar_id = $id;
                break;
            }
        }
    }
    
    $avt_handler =& xoops_gethandler('avatar');

テンプレート 「mypage_profile_avatar.html」

途中から以下のように編集します。

Everything is expanded.Everything is shortened.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
<!-- User Menu -->
<{if $mydirname}><{include file="db:`$mydirname`_inc_mypage_menu.html"}><{/if}>
 
<{$smarty.const._MD_XSNS_PROFILE_AVATAR_UPLOAD}><br>
<!-- Old Avatar -->
<{if $old_avatar}>
<img src="<{$old_avatar}>" alt="Avatar" title="Avatar"><br>
<{$smarty.const._US_OLDDELETED}><br>
<{/if}>
 
<{if $avatar_list}>
 
<!-- Avatar Select -->
<form name="<{$uploadavatar.name}>" action="<{$uploadavatar.action}>" method="<{$uploadavatar.method}>" <{$uploadavatar.extra}>>
<{foreach item=element from=$uploadavatar.elements}>
  <{$element.body}>
<{/foreach}>
<{$lang.avatar_select}>
<select name="avatar_id">
<{foreach item=avatar from=$avatar_list name=avatar}>
<{if $avatar.file && $avatar.name}>
    
<option value="<{$avatar.id}>"><{$avatar.name}></option>
 
<{/if}>
<{if $smarty.foreach.avatar.iteration%4==0 && !$smarty.foreach.avatar.last}>
<{/if}>
<{/foreach}>
</select>
<br />
<input type="submit" name="submit" class="submitS" value="<{$smarty.const._SELECT}>" />
</form>
 
<{/if}>

これで、PCからも携帯対応レンダーからも、WizMobileからも書き込み可能になると思います。(一応、携帯対応レンダーとPCからで確認済み)

お試しください。 ;-)

OpenIDログイン

ログイン

E-mail

パスワード:



パスワード紛失

新規登録

テーマ選択 

screenshot

(5 テーマ)