Thêm số điện thoại liên hệ trong Osclass

Mặc định Osclass không hiển thị số điện thoại để liên hệ khách hàng hôm nay mình sẽ giới thiệu cho các bạn cách thêm số điện thoại vào trang bán hàng của bạn với mã nguồn Osclass.

Bước 1: bạn hãy tìm file struct.sql  theo đường dẫn sau : oc-include/osclass/installer/struct.sql
Nhấn Ctrl + F rồi tìm bảng t_item

CREATE TABLE /*TABLE_PREFIX*/t_item (
    pk_i_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
    fk_i_user_id INT(10) UNSIGNED NULL,
    fk_i_category_id INT(10) UNSIGNED NOT NULL,
    dt_pub_date DATETIME NOT NULL,
    dt_mod_date DATETIME NULL,
    f_price FLOAT NULL,
    i_price BIGINT(20) NULL,
    fk_c_currency_code CHAR(3) NULL,
    s_contact_name VARCHAR(100) NULL,
    s_contact_email VARCHAR(140) NULL,
    s_contact_phone VARCHAR(45) NULL,        <———— thêm đoạn này vào
    s_ip VARCHAR(64) NOT NULL DEFAULT ”,
    b_premium TINYINT(1) NOT NULL DEFAULT 0,
    b_enabled TINYINT(1) NOT NULL DEFAULT 1,
    b_active TINYINT(1) NOT NULL DEFAULT 0,
    b_spam TINYINT(1) NOT NULL DEFAULT 0,
    s_secret VARCHAR(40) NULL,
    b_show_email TINYINT(1) NULL,
    dt_expiration datetime NOT NULL DEFAULT ‘9999-12-31 23:59:59’,

Bước 2: mở file item.php theo đường dẫn: oc-includes/osclass/model/item.php
tìm dòng ‘s_contact_email’, và thêm vào sau nó ‘s_contact_phone’,

function __construct()
        {
            parent::__construct();
            $this->setTableName(‘t_item’);
            $this->setPrimaryKey(‘pk_i_id’);
            $array_fields = array(
                ‘pk_i_id’,
                ‘fk_i_user_id’,
                ‘fk_i_category_id’,
                ‘dt_pub_date’,
                ‘dt_mod_date’,
                ‘f_price’,
                ‘i_price’,
                ‘fk_c_currency_code’,
                ‘s_contact_name’,
                ‘s_contact_email’,
                ‘s_contact_phone’, <—————- thêm dòng này vào
                ‘b_premium’,
                ‘s_ip’,
                ‘b_enabled’,
                ‘b_active’,
                ‘b_spam’,
                ‘s_secret’,
                ‘b_show_email’,
                ‘dt_expiration’
            );
            $this->setFields($array_fields);
        }

Bước 3: mở file hitems.php đường dẫn như sau: oc-includes/osclass/helpers/hitems.php
các bạn thêm hàm sau vào nhé

function osc_item_contact_phone() {
        return (string) osc_item_field(“s_contact_phone”);
    }

Bước4: mở file hpremium.php đường dẫn như sau: oc-

includes/osclass/helpers/hpremium.php

các bạn thêm hàm sau vào nhé

function osc_premium_contact_phone() {
        return (string) osc_premium_field(“s_contact_phone”);
    }

các bạn thêm hai hàm trên vào dưới hàm osc_premium_contact_email()

Bước5: mở file ItemActions.php đường dẫ như sau: oc-includes/osclass/ItemActions.php

Tìm đoạn mã sau

$contactName       = strip_tags( trim( $aItem[‘contactName’] ) );
            $contactEmail      = strip_tags( trim( $aItem[‘contactEmail’] ) );
            $aItem[‘cityArea’] = osc_sanitize_name( strip_tags( trim( $aItem[‘cityArea’] ) ) );
            $aItem[‘address’]  = osc_sanitize_name( strip_tags( trim( $aItem[‘address’] ) ) );

Và thay thế bằng đoạn mã sau

$contactName       = strip_tags( trim( $aItem[‘contactName’] ) );
            $contactEmail      = strip_tags( trim( $aItem[‘contactEmail’] ) );
            $contactPhone      = strip_tags( trim( $aItem[‘contactPhone’] ) );
            $aItem[‘cityArea’] = osc_sanitize_name( strip_tags( trim( $aItem[‘cityArea’] ) ) );
            $aItem[‘address’]  = osc_sanitize_name( strip_tags( trim( $aItem[‘address’] ) ) );

tiếp theo cũng trong file ItemActions.php 
các bạn tìm đoạn code 

$this->manager->insert(array(
                    ‘fk_i_user_id’          => $aItem[‘userId’],
                    ‘dt_pub_date’           => date(‘Y-m-d H:i:s’),
                    ‘fk_i_category_id’      => $aItem[‘catId’],
                    ‘i_price’               => $aItem[‘price’],
                    ‘fk_c_currency_code’    => $aItem[‘currency’],
                    ‘s_contact_name’        => $contactName,
                    ‘s_contact_email’       => $contactEmail,
                    ‘s_secret’              => $code,
                    ‘b_active’              => ($active==’ACTIVE’?1:0),
                    ‘b_enabled’             => $enabled,
                    ‘b_show_email’          => $aItem[‘showEmail’],
                    ‘b_spam’                => $is_spam,
                    ‘s_ip’                  => $aItem[‘s_ip’]
                ));

và thay thế bằng đoạn code trên bằng 

$this->manager->insert(array(
                    ‘fk_i_user_id’          => $aItem[‘userId’],
                    ‘dt_pub_date’           => date(‘Y-m-d H:i:s’),
                    ‘fk_i_category_id’      => $aItem[‘catId’],
                    ‘i_price’               => $aItem[‘price’],
                    ‘fk_c_currency_code’    => $aItem[‘currency’],
                    ‘s_contact_name’        => $contactName,
                    ‘s_contact_email’       => $contactEmail,
                    ‘s_contact_phone’       => $contactPhone,
                    ‘s_secret’              => $code,
                    ‘b_active’              => ($active==’ACTIVE’?1:0),
                    ‘b_enabled’             => $enabled,
                    ‘b_show_email’          => $aItem[‘showEmail’],
                    ‘b_spam’                => $is_spam,
                    ‘s_ip’                  => $aItem[‘s_ip’]
                ));

tìm đoạn code 

$_meta = Field::newInstance()->findByCategory($aItem[‘catId’]);
            $meta = Params::getParam(“meta”);

thêm vào bên dưới đoạn code

$flash_error .=
                ((!osc_validate_text($aItem[‘contactPhone’], 7, false)) ? _m(“Phone Number too short.”) . PHP_EOL : ” ) .
                ((!osc_validate_max($aItem[‘contactPhone’], 20)) ? _m(“Phone Number too long.”) . PHP_EOL : ” );
            
            $_meta = Field::newInstance()->findByCategory($aItem[‘catId’]);
            $meta = Params::getParam(“meta”);

Tìm đoạn code 

if($aItem[‘userId’] != ”) {
                    $user = User::newInstance()->findByPrimaryKey( $aItem[‘userId’] );
                    $aItem[‘userId’]      = $aItem[‘userId’];
                    $aItem[‘contactName’] = $user[‘s_name’];
                    $aItem[‘contactEmail’] = $user[‘s_email’];
                } else {
                    $aItem[‘userId’]      = NULL;
                }

Thay thế bằng đoạn code sau

if($aItem[‘userId’] != ”) {
                    $user = User::newInstance()->findByPrimaryKey( $aItem[‘userId’] );
                    $aItem[‘userId’]      = $aItem[‘userId’];
                    $aItem[‘contactName’] = $user[‘s_name’];
                    $aItem[‘contactEmail’] = $user[‘s_email’];
                    $aItem[‘contactPhone’] = ($user[‘s_phone_mobile’])? $user[‘s_phone_mobile’] : $user[‘s_phone_land’];
                } else {
                    $aItem[‘userId’]      = NULL;
                }

Tìm đoạn code

if( $this->is_admin ) {
                    $aUpdate[‘fk_i_user_id’]    = $aItem[‘userId’];
                    $aUpdate[‘s_contact_name’]  = $aItem[‘contactName’];
                    $aUpdate[‘s_contact_email’] = $aItem[‘contactEmail’];
                } else {
                    $aUpdate[‘s_ip’] = $aItem[‘s_ip’];
                }

và Thay thế bằng đoạn code sau

if( $this->is_admin ) {
                    $aUpdate[‘fk_i_user_id’]    = $aItem[‘userId’];
                    $aUpdate[‘s_contact_name’]  = $aItem[‘contactName’];
                    $aUpdate[‘s_contact_email’] = $aItem[‘contactEmail’];
                    $aUpdate[‘s_contact_phone’] = $aItem[‘contactPhone’];
                } else {
                    $aUpdate[‘s_ip’] = $aItem[‘s_ip’];
                }

 Tìm dòng code

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’);
            }

Và thay thế bằng đoạn code sau

if($userId != null) {
                $aItem[‘contactName’]   = $data[‘s_name’];
                $aItem[‘contactEmail’]  = $data[‘s_email’];
                $aItem[‘contactPhone’]  = ($data[‘s_phone_mobile’])? $data[‘s_phone_mobile’] : $data[‘s_phone_land’];
                Params::setParam(‘contactName’, $data[‘s_name’]);
                Params::setParam(‘contactEmail’, $data[‘s_email’]);
                Params::setParam(‘contactPhone’, ($data[‘s_phone_mobile’])? $data[‘s_phone_mobile’] : $data[‘s_phone_land’]);
            } else {
                $aItem[‘contactName’]   = Params::getParam(‘contactName’);
                $aItem[‘contactEmail’]  = Params::getParam(‘contactEmail’);
                $aItem[‘contactPhone’]  = Params::getParam(‘contactPhone’);
            }

Bước6:  mở file item.form.class.php như đường dẫn sau: oc-includes/osclass/frm/item.form.class.php 

Tìm đoạn code

static public function contact_email_text($item = null) {
            if($item==null) { $item = osc_item(); };
            if( Session::newInstance()->_getForm(‘contactEmail’) != “” ) {
                $item[‘s_contact_email’] = Session::newInstance()->_getForm(‘contactEmail’);
            }
            parent::generic_input_text(‘contactEmail’, (isset($item[‘s_contact_email’])) ? $item[‘s_contact_email’] : null);
            return true;
        }

thêm vào bên dưới đoạn code.

static public function contact_phone_text($item = null) {
    if($item==null) { $item = osc_item(); };
    if( Session::newInstance()->_getForm(‘contactPhone’) != “” ) {
        $item[‘s_contact_phone’] = Session::newInstance()->_getForm(‘contactPhone’);
    }
   parent::generic_input_text(‘contactPhone’, (isset($item[‘s_contact_phone’])) ? $item[‘s_contact_phone’] : null);
    return true;
}

Bước7:  chúng ta sẽ cho nó hiển thị ra ngoài trang chủ và trang sidebar
Các bạn tìm file item-sidebar.php như đường dẫn sau: oc-content/themes/bender/item-sidebar.php

mở file này ra và tìm đoạn code

<h2> <?php _e ( “Contact publisher” , ‘bender’ ); ?> </h2> 
<p class=”name”> <?php echo osc_item_contact_name (); ?> <p>

Các bạn thêm vào dưới đoạn code sau

$phoneuser = osc_item_contact_phone(); 
    if ($phoneuser != “”) { ?> 
    <p>Phone: <?php echo $phoneuser ; ?> </p> 
<?php } ?>

Tiếp tục tìm file item-post.php như đường dẫn: oc-content/themes/bender/item-post.php

Mở file này lên các bạn tìm tới dòng code

<div class=”control-group”> 
    <label class=”control-label” for=”contactEmail”> <?php _e ( ‘E-mail’ , ‘bender’ ); ?> </label> 
    <div class=”controls”> 
<?php ItemForm :: contact_email_text (); ?> 
    </div> 
</div>

và thêm vào bên dưới đoạn code sau

<div class=”control-group”> 
    <label class=”control-label” for=”contactPhone”> <?php _e ( ‘Phone’ , ‘bender’ ); ?> </label> 
<div class=”controls”> 
<?php ItemForm :: contact_phone_text (); ?> 
    </div> 
</div>

 Tiếp tục mở file frm.php đường dẫn sau: oc-admin/themes/modern/items/frm.php

Tìm đoạn code 

<div class=”input-has-placeholder input-separate-top”> 
    <label> <?php _e ( ‘E-mail’ ); ?> </label> 
<?php ItemForm :: contact_email_text (); ?> 
</div>

và thêm vào dưới nó đoạn code sau

<?php if( osc_item_user_id () == null ) { ?> 
<div class=”input-has-placeholder input-separate-top”> 
    <label> <?php _e ( ‘Phone’ ); ?> </label> 
<?php ItemForm :: contact_phone_text (); ?> 
</div> 
<?php } ?>

Như vậy là các bạn đã thêm xong file điện thoại vào trang web của mình rồi
Lưu ý: những dòng code màu đỏ là những code các bạn thêm vào mã nguồn của bạn.
các bạn có thể xem thêm cách cài đặt tại đây
Cách việt hóa ngôn ngữ tại đây.
Chúc các bạn thành công!

thiết bị phòng chụp | bán chân đèn flash | bán đèn chụp ngoại cảnh | bán đèn quay phim | bán đèn chụp sản phẩm | remote trigger godox | đèn flash canon speedlite | đèn led chụp hình sản phẩm | bóng đèn flash | túi đựng máy ảnh | phụ kiện máy ảnh | bàn chụp sản phẩm | thiết bị chống rung máy quay phim | máy ép PLASTIC | thang chụp hình | máy chụp hình sản phẩm | máy in ảnh hiti | chân máy ảnh chụp hình | pin sạc máy ảnh | máy đo sáng | tủ chống ẩm máy quay phim | bán đèn flash | đèn flash hylow | Đèn Flash studio | đèn flash Jinbei | đèn flash photon | bộ kít đèn flash Jinbei | bộ kít đèn flash | Chân máy ảnh | setup phòng chụp sản phẩm | softbox | tấm hắt sáng | bán chân đèn studio | dàn treo đèn | chóa đèn tổ ong | phông nền 3d | dù chụp hình | giá treo phông chụp hình | thanh trượt dolly | tay cầm máy quay phim | phông chụp hình 3d | phòng chụp đám cưới |

Leave a Comment