โมดูลการลงทะเบียนผู้ใช้สำหรับ Drupal


22

Drupal ใช้อีเมลเพื่อวัตถุประสงค์ในการลงทะเบียนผู้ใช้ แทนที่จะลงทะเบียนผู้ใช้ Drupal แบบนอกกรอบที่ต้องการให้ผู้ใช้ระบุชื่อผู้ใช้และที่อยู่อีเมลฉันต้องการแบบฟอร์มการลงทะเบียนผู้ใช้เต็มรูปแบบ (ที่มี captcha โปรไฟล์ผู้ใช้ ฯลฯ เช่นการลงทะเบียน yahoo หรือ gmail) สำหรับเว็บไซต์ของฉัน

มีโมดูลที่ทำเช่นนั้น?

คำตอบ:


24

มีสองตัวเลือกสำหรับสิ่งนี้

ในการรับฟิลด์โปรไฟล์โซลูชันที่พบบ่อยที่สุดคือโมดูลโปรไฟล์ที่รวมอยู่ใน Drupal core ไปที่Administer > Site building > Modulesและเปิดใช้งานภายใต้ตัวเลือกหลัก จากนั้นคุณสามารถกำหนดค่าโมดูลโปรไฟล์ที่Administer > User settings > Profileและในการตั้งค่าที่คุณสามารถพูดได้ว่าฟิลด์จะแสดงในระหว่างการลงทะเบียนหรือไม่

ในการรับ captcha ในระหว่างการลงทะเบียนคุณจะต้องใช้หนึ่งในสองโมดูล:

ฉันชอบMollomเพราะมันใช้งานได้ดีโดยไม่ทำให้รำคาญ แต่มันส่งเนื้อหาของคุณไปยังไซต์ภายนอกเพื่อทำการยืนยัน

นอกจากนี้ยังมีCaptchaซึ่งเชื่อถือได้น้อยกว่า Mollom แต่เก็บเนื้อหาไว้ในเว็บไซต์ของคุณ


การใช้โมดูลโปรไฟล์เนื้อหาเป็นตัวเลือกที่ดีกว่าแทนโมดูลโปรไฟล์มาตรฐาน โปรไฟล์เนื้อหาสร้างโหนด
eddy147

2
Blech ไม่ได้จริงๆ โปรไฟล์เนื้อหาเป็นกลุ่มค่าใช้จ่าย หากโปรไฟล์หลักทำงานได้ดีสำหรับความต้องการของผู้ใช้ (ซึ่งทำในกรณีนี้) ก็จะง่ายกว่าโปรไฟล์เนื้อหามาก "โปรไฟล์เนื้อหาสร้างโหนด" แต่โหนดไม่ได้ดีกว่าเสมอไป!
greggles

10

ทางเลือกที่ปกติสำหรับนี้คือการใช้การรวมกันของcontent_profileเพื่อสร้างโปรไฟล์ของผู้ใช้เป็นโหนดcontent_profile_registrationส่วนประกอบของ content_profile เพื่อสร้างรายละเอียดในการลงทะเบียนโดยใช้รูปแบบดังกล่าวแก้ไขโหนดที่เต็มเปี่ยมและอาจauto_assign_roleถ้าคุณ มีผู้ใช้หลายประเภทที่มีประเภทโปรไฟล์ที่แตกต่างกัน

สำหรับส่วนของ captcha นั้น Mollom เป็นบริการที่น่าสนใจตามที่ Greggles แนะนำ แต่คุณอาจต้องการพิจารณาreCaptchaซึ่งดีมากในการบริการสาธารณะ


7

ดูเหมือนว่ากระบวนการที่แนะนำตอนนี้กำลังสร้างเขตข้อมูล จากเว็บไซต์Drupal :

โมดูลโปรไฟล์เลิกใช้งานใน Drupal 7 ซึ่งจะถูกเก็บไว้รอบ ๆ เท่านั้นเพื่อให้เส้นทางการอัปเกรดสำหรับไซต์ Drupal 6 ที่ใช้งาน แนะนำให้ใช้โมดูล Profile2 หรือการสร้างฟิลด์บนเอนทิตีผู้ใช้โดยตรงใน Drupal 7


1

ReCaptcha แน่นอน

นอกจากนี้คุณยังสามารถให้ฟิลด์โปรไฟล์หลักที่เรียบง่ายปรากฏขึ้นในการลงทะเบียนหากคุณต้องการที่จะอยู่แบบลีน แม้ว่าสิ่งนี้จะทำให้คุณต้อง theme user_profile.tpl.php หากคุณต้องการให้หน้านั้นเป็นแบบสาธารณะ

PS: ในอีเมล์ที่ลงทะเบียนโมดูลอาจจะมีการใช้งานเช่นเดียวกับLoginToboggan


1

ด้วยความเคารพ "แบบฟอร์มการลงทะเบียนผู้ใช้แบบเต็มรูปแบบ" คุณสามารถไปที่ผู้ดูแลระบบ >> ใช้การจัดการ >> โปรไฟล์จากนั้นสร้าง / ปรับแต่งฟิลด์ของคุณและตรวจสอบให้แน่ใจว่าคุณทำเครื่องหมายที่ตัวเลือก


0

หากฉันแก้ไขuser_profile.tpl.phpฉันสามารถรักษาส่วนการลงทะเบียนได้ตามที่ต้องการ

<?php
   // Validate the username:
   if (user_access('change own username') || user_access('administer users') || arg(1) == 'register') {
     if ($error = user_validate_name($edit['name'])) {
       form_set_error('name', $error);
     }
     else if (db_num_rows(db_query("SELECT uid FROM {users} WHERE uid != %d AND LOWER(name) = LOWER('%s')", $uid, $edit['name'])) > 0) {
       form_set_error('name', t('The name %name is already taken.', array('%name' => $edit['name'])));
     }
     else if (drupal_is_denied('user', $edit['name'])) {
       form_set_error('name', t('The name %name has been denied access.', array('%name' => $edit['name'])));
     }
   }
?>
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.