2010-11-26 9 views
6

लिफ्ट में, संपूर्ण ProtoUser निर्माण बहुत बढ़िया है, यह आपके लिए क्या आश्चर्यजनक है, अधिकांश फायदे (जैसे लिफ्ट में दुर्भाग्य से, कई चीजें) अनियंत्रित।लिफ्ट में मेगाप्रोटोउसर के लिए वैकल्पिक

केवल एक समस्या है: इसमें डेटा है जिसकी मुझे आवश्यकता नहीं है और यहां तक ​​कि डेटा जो मैं नहीं चाहता हूं। उदाहरण के लिए, मैं चाहता हूं कि मेरा उपयोगकर्ता उपनाम से लॉगिन करे, और मुझे अपने स्थान, लोकेल या पहले/अंतिम नाम को जानने की आवश्यकता नहीं है। लेकिन साइन-अप पर, मुझे ऐसी जानकारी की आवश्यकता होती है जो मानक साइन-अप पेज पर प्रदर्शित नहीं होती है।

मेरा पहला विचार मेरी खुद की उपयोगकर्ता विशेषता को दोबारा लिखना होगा, लेकिन फिर मुझे सभी सत्र-कोड कोड, प्राधिकरण इत्यादि को फिर से लिखना होगा। क्या कोई विकल्प पहले से ही है? या क्या ProtoUser को अपना स्वयं का साइन-अप और लॉगिन पेज, साथ ही केवल मेरा आवश्यक डेटा बदलने के लिए संभव है?

सुनने के लिए धन्यवाद।

+0

liftweb समूह http://groups.google.com/group/liftweb/browse_thread/thread/cf396f89a4304beb/e74683995641e67e?lnk=gst&q=ProtoUser#e74683995641e67e पर इस हाल चर्चा को यहां देखें –

उत्तर

3

मुझे यकीन नहीं है कि प्रोटोयूसर में किसी भी फ़ील्ड को हटाने का कोई आसान तरीका है, लेकिन एक विकल्प प्रोटोयूसर में फ़ील्ड ऑर्डर विधि में देखना होगा, मेरा मानना ​​है कि प्रोटोटाउसर का उपयोग करने वाले फ़ील्ड को परिभाषित करता है। साइन अप करने की समस्या के रूप में वहाँ एक विधि signUpFields आप ओवरराइड जो आपके द्वारा अब

override def signupFields = email :: userName :: password :: Nil

आप अपना उपयोगकर्ता नाम वस्तु को परिभाषित मान लिया जाये की तरह प्रवेश के समय की आवश्यकता होती है-प्रांगण करने देता है। एडिटफिल्ड्स के लिए भी एक समान विधि है, यह वास्तव में उन फ़ील्ड को हटाने की समस्या को हल नहीं करती है, जो ट्रैक रखती हैं लेकिन शायद फील्ड ऑर्डर कुछ कर सकता है, एक अन्य सुझाव है कि मुझे प्रोटो उपयोगकर्ता के स्रोत को देखना होगा और देखें कि क्या आप शायद मैप किए गए ऑब्जेक्ट्स को ओवरराइड कर सकते हैं और मैपर को किसी भी तरह से अनदेखा कर सकते हैं। यह अभी भी प्रोटो उपयोगकर्ता के आसपास काम करने का एक तरीका है ताकि इसमें बहुत सारे कोड को फिर से लिखना पड़े।

+0

इस के लिए सभी सही काम करने के लिए लगता है साइन-अप, लेकिन उपयोगकर्ता को संपादित करते समय, मुझे पहले के समान मानक फ़ील्ड मिलते हैं। और लॉगिंग केवल ईमेल के साथ काम करता है ... – Lanbo

+0

हाँ, संपादन उपयोगकर्ता पृष्ठ के लिए editFields नामक एक अलग विधि है। जहां तक ​​उपयोगकर्ता नाम के साथ लॉग इन करना है, मुझे नहीं पता कि उसे कैसे बदला जाए। इसके लिए आपको प्रोटो-उपयोगकर्ता के कुछ तरीकों को ओवरराइड करना होगा। – RedbeardTheNinja

संबंधित मुद्दे