2016-05-19 23 views
1

最近我使用這個功能來隱藏osc_user_phone()的最後一個號碼Osclass 3.6.1Osclass osc_user_phone()不工作

jQuery的

<script> 
    $(document).ready(function(){ 
     $("#showPhone").click(function() { 
      $("#showPhone").hide(); 
      $("#hidePhone").show(); 
     }); 

     $("#hidePhone").click(function() { 
      $("#showPhone").show(); 
      $("#hidePhone").hide(); 
     }); 
    }); 
</script> 

HTML

<?php _e('user phone'); ?> : 
<span> 
    <a href="#" id="hidePhone" style="display: none;"> 
     <?php echo osc_user_phone_mobile(); ?> 
    </a> 
</span> 
<span> 
    <a href="#" id="showPhone"> 
     <?php echo substr(osc_user_phone_mobile(),0,-4).'XXXX'; ?> 
    </a> 
</span> 

在這裏一切都很好。如果完成用戶配置文件中的電話單元字段確定,則電話號碼顯示在項目頁面中。 如果發佈新廣告,並且沒有帳戶並完成手機輸入,則該電話號碼不會顯示在商品頁面中。

項目-post.php中,問題是在這裏(我希望)

<div class="control-group"> 
    <label class="control-label" for="phoneMobile"><?php _e('Cell phone', 'infinity'); ?></label> 
    <div class="controls"> 
     <?php UserForm::mobile_text(osc_user()); ?> 
    </div> 
</div> 

,並從用戶profile.php,手機輸入:

<div class="control-group"> 
    <label class="control-label" for="phoneMobile"><?php _e('Cell phone', 'infinity'); ?></label> 
    <div class="controls"> 
     <?php UserForm::mobile_text(osc_user()); ?> 
    </div> 
</div> 

的同樣的代碼,項目-post.php中

如何輸入域工作和當用戶發佈新的廣告電話號碼顯示在項目頁面?

回答

0

在提交頁面,Osclass檢查它是否是一個註冊用戶,或者是發佈項目未註冊用戶。

  1. 如果開創一個用戶ID,相關信息都存儲在具有s_phone_lands_phone_mobileoc_t_user
  2. 當一個非註冊用戶發佈項目,他的相關信息被存儲在數據庫中的表oc_t_item。不幸的是,它只保存了s_contact_names_contact_email,這個表格不適用於手機。

然後,您的手機輸入字段已提交,但未被控制器考慮在內。您可以在controller/item.phpItemActions.php中看到該過程。

你可能想看看prepareData()方法ItemActions.php,左右線一一零零年至1110年:

if($userId != null) { 
    $aItem['contactName'] = $data['s_name']; 
    $aItem['contactEmail'] = $data['s_email']; 
    Params::setParam('contactName', $data['s_name']); 
    Params::setParam('contactEmail', $data['s_email']); 
} else { 
    $aItem['contactName'] = Params::getParam('contactName'); 
    $aItem['contactEmail'] = Params::getParam('contactEmail'); 
} 
$aItem['userId']  = $userId; 
0

在osclass 3.7.1(彎管機主題)我設法把註冊用戶的手機變成項目,後.php 該代碼:

<?php if(osc_is_web_user_logged_in()) { ?> 
<?php if (!$edit) { ?> 
      <div class="control-group"> 
       <label class="control-label" for="phoneLand"><?php _e('Phone', 'bender'); ?>*</label> 
       <div class="controls"> 
        <?php UserForm::phone_land_text(osc_user()); ?> 
<p style="font-size: 0.85em; color:red;">* empty => <u>it will miss from all the listings !</u></br>* filled => <u>it will show in all the listings !</u></p> 
     </div> 
    </div> 
<?php } ?> 
<?php if ($edit) { ?> 
      <div class="control-group"> 
       <label class="control-label" for="phoneLand">The <?php _e('Phone', 'bender'); ?></label> 
       <div class="controls"> 
<p style="font-size: 0.85em;"> can be edited <a href="<?php echo osc_user_profile_url(); ?>" target="_blank">here</a>.</p> 
     </div> 
    </div> 
<?php } ?> 
<?php } ?>