1

最近、この関数を使用して、Osclass 3.6.1の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>

ここまでは大丈夫です。ユーザー プロファイルの [電話セル] フィールドに問題がなければ、アイテム ページに電話番号が表示されます。アカウントなしで新しい広告を投稿し、携帯電話の入力を完了すると、商品ページに電話番号が表示されません。

item-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>

そしてuser-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>

item-post.phpと同じコード

入力フィールドはどのように機能し、ユーザーが新しい広告を投稿すると、商品ページに電話番号が表示されますか?

4

2 に答える 2

0

ページを送信するとき、Osclass はアイテムを公開しているのが登録ユーザーか非登録ユーザーかをチェックします。

  1. ユーザー ID が見つかった場合、情報は と を持つ に保存されoc_t_userます。s_phone_lands_phone_mobile
  2. 未登録ユーザーがアイテムを公開すると、そのユーザーの情報がoc_t_itemデータベースのテーブルに保存されます。残念ながら、これは と のみを保存します。電話用のこのテーブルで使用できるフィールドはありませんs_contact_names_contact_email

次に、電話入力フィールドが送信されますが、コントローラーによって考慮されません。controller/item.phpおよびでプロセスを確認できますItemActions.php

prepareData()のメソッドのItemActions.php1100 行から 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;
于 2016-06-13T09:35:14.577 に答える