Cần giúp đỡ import avatar thành viên khi import dữ liệu ngoài vào

Thảo luận trong 'General Discussions' bắt đầu bởi 01699554445, 21/7/13.

1votes
5/5, 1 vote

  1. 01699554445

    01699554445 New Member

    Bài viết:
    5
    Likes :
    0
    Chào cả nhà!

    Tình hình là e đang dùng mã nguồn Drupal, site em có mục diễn đàn dùng module Advanced Forum của drupal, em đã import thành công các user từ bên drupal sang rồi, cách làm của mình là dùng hàm sau:

    function createUser($userName, $userMail, $userPassword) {
    /** @var $writer XenForo_DataWriter_User */
    $writer = XenForo_DataWriter::create('XenForo_DataWriter_User');
    $writer->set('username', $userName);
    $writer->set('timezone', 'Asia/Bangkok');
    $writer->set('email', $userMail);
    $writer->setPassword($userPassword);
    $writer->set('user_group_id', XenForo_Model_User::$defaultRegisteredGroupId);
    $writer->set('user_state', 'valid');
    $writer->save();
    return $writer->getMergedData();
    }

    Cho mình hỏi là giờ làm cách nào để chèn avatar vào user của xenforo, hình như e thấy avatar nó lưu vào cột custom_fields của bảng xf_user_profile, kiểu dữ liệu của cột custom_fields là kiểu mediumblob

    Mong các bro giúp đỡ khẩn cấp với ạ!
     
    Đang tải...
  2. 01699554445

    01699554445 New Member

    Bài viết:
    5
    Likes :
    0
    Có ai giúp mình với
     
  3. 01699554445

    01699554445 New Member

    Bài viết:
    5
    Likes :
    0
    Ai giúp mình với, mình đang cần gấp lắm
     
  4. clickxf

    clickxf New Member

    Bài viết:
    13
    Likes :
    11
    XenForo lưu avatar vào trong thư mục data/avatars bạn à. Trong đó được chia làm 3 thư con để lưu các loại kích thước khác nhau: l, m, s. Trong các thư mục l, m, s đó thì các avatar lại được nhóm theo cứ 1000 user thì có một thư mục.
    Mình trích dẫn hàm lấy đường dẫn avatar ở dưới đây:

    File: library\XenForo\Template\Helper\Core.php

    PHP:
        protected static function _getCustomAvatarUrl(array $user$size)
        {
            
    $group floor($user['user_id'] / 1000);
            return 
    XenForo_Application::$externalDataUrl "/avatars/$size/$group/$user[user_id].jpg?$user[avatar_date]";
        }
    Như bạn thấy ở trên:
    $size : Tên thư mục l, m, s
    $group : Số thứ tự của nhóm avatar

    Bây giờ, bạn chỉ cần nhập trường avatar_date trong bảng xf_user và đưa các avatar vào thư mục l, m, s nhé.
     
    Fox Of Dark thích bài này.
  5. 01699554445

    01699554445 New Member

    Bài viết:
    5
    Likes :
    0
    Cám ơn bạn đã chia sẻ, nhưng vấn đề chính của mình ở đây là làm sao để lưu avatar từ dữ liệu khác vào ấy, tức là lưu nó vào database ấy bạn
     
  6. Fox Of Dark

    Fox Of Dark Oáp.... Mấy ngày nay thức trễ

    Bài viết:
    1,102
    Likes :
    316
    Muốn thế bạn phải dùng code hp hay tương tự thế @@
     
  7. 01699554445

    01699554445 New Member

    Bài viết:
    5
    Likes :
    0
    Ý mình làm thế nào để lưu avatar bên cơ sở dữ liệu khác sang, php thì tất nhiên rồi, mình muốn pro nào chỉ cho mình hướng để lưu avatar vào Xenforo với
     
  8. clickxf

    clickxf New Member

    Bài viết:
    13
    Likes :
    11
    Bạn tham khảo method XenForo_ControllerPublic_Account:actionAvatarUpload và lớp XenForo_Model_Avatar xem.
     
  9. clickxf

    clickxf New Member

    Bài viết:
    13
    Likes :
    11
    Bạn xem XenForo_Importer_vBulletin::stepAvatars nhé. XF cũng import avatar từ CSDL của VBB :)
     
comments powered by Disqus

Chia sẻ trang này

Đang tải...