با سلام . می خواستم ببینم از کجا می تونم مشخصات قسمت عضویت رو کم و زیاد کنم یا از حالت ضروری برای پر کردن دربیارم؟ ممنون
نمایش نسخه قابل چاپ
با سلام . می خواستم ببینم از کجا می تونم مشخصات قسمت عضویت رو کم و زیاد کنم یا از حالت ضروری برای پر کردن دربیارم؟ ممنون
سلام
اینجا:
فیلدهای فرم ثبت نام اینجا هستن، هرکدوم رو که می خوای نباشه کامنت کن... یا اون فیلد Required رو مقدارش رو false کن...کد:JOOMLA\components\com_users\models\forms\registration.xml
من همین کار رو انجام دادم تا پست الکترونیک را از حالت ضروری در بیارم اما error می ده (با این متن که باید ایمیلی وارد کنید )دلیلش چیه ؟؟؟
دوست عزیز سلام
تا آنجایی که میدونم برای اینکار نیازمند تغییرات در چندین فایل و مسیر میباشید و تنها همان نیست
پیشنهاد می کنم از کامپوننت cb استفاده نمایید.
یا حق.
با اجازه دوسته عزیزمون . دوست عزیز میتونید از k2 هم استفاده کنید موفق باشید
خوب سلام
اول اینجا:
و بعد هم این دوتا رو کامنت می کنی:کد:JOOMLA\components\com_users\models\forms\registration.xml
و بعد اینجا:کد:<!--
<field name="email1" type="email"
description="COM_USERS_REGISTER_EMAIL1_DESC"
field="id"
filter="string"
label="COM_USERS_REGISTER_EMAIL1_LABEL"
message="COM_USERS_REGISTER_EMAIL1_MESSAGE"
required="true"
size="30"
unique="true"
validate="email"
/>
<field name="email2" type="email"
description="COM_USERS_REGISTER_EMAIL2_DESC"
field="email1"
filter="string"
label="COM_USERS_REGISTER_EMAIL2_LABEL"
message="COM_USERS_REGISTER_EMAIL2_MESSAGE"
required="true"
size="30"
validate="equals"
/>
-->
این تابع رو کامنت می کنی:کد:JOOMLA\libraries\joomla\database\table\user.php
و بعد اینجا:کد:/*
// check for existing email
$query->clear();
$query->select($this->_db->quoteName('id'));
$query->from($this->_db->quoteName('#__users'));
$query->where($this->_db->quoteName('email') . ' = ' . $this->_db->quote($this->email));
$query->where($this->_db->quoteName('id') . ' != ' . (int) $this->id);
$this->_db->setQuery($query);
$xid = intval($this->_db->loadResult());
if ($xid && $xid != intval($this->id))
{
$this->setError(JText::_('JLIB_DATABASE_ERROR_EMAIL_INUSE'));
return false;
}
*/
این بخش رو کامنت می کنی:کد:JOOMLA\components\com_users\models\registration.php
و بعد هم اینجا:کد:// Check for an error.
/*
if ($return !== true) {
$this->setError(JText::_('COM_USERS_REGISTRATION_SEND_MAIL_FAILED'));
// Send a system message to administrators receiving system mails
$db = JFactory::getDBO();
$q = "SELECT id
FROM #__users
WHERE block = 0
AND sendEmail = 1";
$db->setQuery($q);
$sendEmail = $db->loadColumn();
if (count($sendEmail) > 0) {
$jdate = new JDate();
// Build the query to add the messages
$q = "INSERT INTO ".$db->quoteName('#__messages')." (".$db->quoteName('user_id_from').
", ".$db->quoteName('user_id_to').", ".$db->quoteName('date_time').
", ".$db->quoteName('subject').", ".$db->quoteName('message').") VALUES ";
$messages = array();
foreach ($sendEmail as $userid) {
$messages[] = "(".$userid.", ".$userid.", '".$jdate->toSql()."', '".JText::_('COM_USERS_MAIL_SEND_FAILURE_SUBJECT')."', '".JText::sprintf('COM_USERS_MAIL_SEND_FAILURE_BODY', $return, $data['username'])."')";
}
$q .= implode(',', $messages);
$db->setQuery($q);
$db->query();
}
return false;
}
*/
این خط رو کامنت می کنی:کد:JOOMLA\libraries\phpmailer\language\phpmailer.lang-joomla.php
تا اینجا مشکل رجیستر شدن بدون ایمیل حل می شه، فقط می مونه یه پیغام که می گه :کد:$PHPMAILER_LANG["provide_address"] = JText::_('PHPMAILER_PROVIDE_ADDRESS');
که اینجا:نقل قول:
شما حداقل باید یک آدرس ایمیل جهت دریافت وارد کنید
یا
You must provide at least one recipient email address.
این خط رو که بلد شده خذف می کنی...کد:JOOMLA\libraries\phpmailer\phpmailer.php
البته کار اصولی ای نیست این کار ولی خوب شدنیه...کد:'provide_address' => 'You must provide at least one recipient email address.',