رضاقاسمی 1,539 ارسال شده در دی 95 با سلام و عرض خسته نباشید. این آموزش قبلا برای جوملا 2.5 توسط استاد عزیزم جناب آقای میری نوشته شده بود که تا نسخه 3.3.6 جومینا کار میکرد. هم اکنون مشکل این آموزش در نسخه 3.6.5 توسط یکی از کاربران محترم ، اطلاع داده شد که تصمیم گرفتم آموزش را مجددا برای جوملا 3.6.5 بنویسم. در این نسخه شما میتوانید با تغییر زیر فیلد ایمیل را در جوملای خود غیرفعال کنید. 1. غیرفعال کردن ضروری بودن فیلد برای اینکار ابتدا وارد آدرس زیر شوید: \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" autocomplete="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" /> خط required="true" رو در هر دو قسمت حذف کنید. با اینکار فیلد ایمیل از حالت ضروری بودن در میاد. 2. غیرفعال کردن کد بررسی ایمیل خالی: برای اینکار وارد آدرس زیر بشید: \libraries\joomla\table\user.php در خط 199 کد زیر رو پیدا کنید: if (($filterInput->clean($this->email, 'TRIM') == "") || !JMailHelper::isEmailAddress($this->email)) { $this->setError(JText::_('JLIB_DATABASE_ERROR_VALID_MAIL')); return false; } به این صورت کامنتش کنید: /* if (($filterInput->clean($this->email, 'TRIM') == "") || !JMailHelper::isEmailAddress($this->email)) { $this->setError(JText::_('JLIB_DATABASE_ERROR_VALID_MAIL')); return false; } */ 3. حذف خطای: "این ایمیل از قبل ثبت شده است" : برای حذف این خطا در همان فایل قبلی حدود خط 245 کد زیر را بیابید: $query->clear() ->select($this->_db->quoteName('id')) ->from($this->_db->quoteName('#__users')) ->where($this->_db->quoteName('email') . ' = ' . $this->_db->quote($this->email)) ->where($this->_db->quoteName('id') . ' != ' . (int) $this->id); $this->_db->setQuery($query); $xid = (int) $this->_db->loadResult(); و به کد زیر تغییر دهید: $query->clear() ->select($this->_db->quoteName('id')) ->from($this->_db->quoteName('#__users')) ->where($this->_db->quoteName('email') . ' = ' . $this->_db->quote($this->email)) ->where($this->_db->quoteName('id') . ' != ' . (int) $this->id) ->where($this->_db->quoteName('email') . ' != ""'); $this->_db->setQuery($query); $xid = (int) $this->_db->loadResult(); 4. حذف خطای : "یک خطا در هنگام ارسال ایمیل ثبت نام رخ داده است" : برای حذف این خطا نیز وارد فایل زیر شوید: \components\com_users\models\registration.php در حدود خط 610 تا 669 کد زیر را بیابید: // 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 = $this->getDbo(); $query->clear() ->select($db->quoteName(array('name', 'email', 'sendEmail', 'id'))) ->from($db->quoteName('#__users')) ->where($db->quoteName('block') . ' = ' . (int) 0) ->where($db->quoteName('sendEmail') . ' = ' . (int) 1); $db->setQuery($query); try { $sendEmail = $db->loadColumn(); } catch (RuntimeException $e) { $this->setError(JText::sprintf('COM_USERS_DATABASE_ERROR', $e->getMessage()), 500); return false; } if (count($sendEmail) > 0) { $jdate = new JDate; // Build the query to add the messages foreach ($sendEmail as $userid) { $values = array( $db->quote($userid), $db->quote($userid), $db->quote($jdate->toSql()), $db->quote(JText::_('COM_USERS_MAIL_SEND_FAILURE_SUBJECT')), $db->quote(JText::sprintf('COM_USERS_MAIL_SEND_FAILURE_BODY', $return, $data['username'])) ); $query->clear() ->insert($db->quoteName('#__messages')) ->columns($db->quoteName(array('user_id_from', 'user_id_to', 'date_time', 'subject', 'message'))) ->values(implode(',', $values)); $db->setQuery($query); try { $db->execute(); } catch (RuntimeException $e) { $this->setError(JText::sprintf('COM_USERS_DATABASE_ERROR', $e->getMessage()), 500); return false; } } } return false; } آنرا بدین صورت کامنت کنید: /* // 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 = $this->getDbo(); $query->clear() ->select($db->quoteName(array('name', 'email', 'sendEmail', 'id'))) ->from($db->quoteName('#__users')) ->where($db->quoteName('block') . ' = ' . (int) 0) ->where($db->quoteName('sendEmail') . ' = ' . (int) 1); $db->setQuery($query); try { $sendEmail = $db->loadColumn(); } catch (RuntimeException $e) { $this->setError(JText::sprintf('COM_USERS_DATABASE_ERROR', $e->getMessage()), 500); return false; } if (count($sendEmail) > 0) { $jdate = new JDate; // Build the query to add the messages foreach ($sendEmail as $userid) { $values = array( $db->quote($userid), $db->quote($userid), $db->quote($jdate->toSql()), $db->quote(JText::_('COM_USERS_MAIL_SEND_FAILURE_SUBJECT')), $db->quote(JText::sprintf('COM_USERS_MAIL_SEND_FAILURE_BODY', $return, $data['username'])) ); $query->clear() ->insert($db->quoteName('#__messages')) ->columns($db->quoteName(array('user_id_from', 'user_id_to', 'date_time', 'subject', 'message'))) ->values(implode(',', $values)); $db->setQuery($query); try { $db->execute(); } catch (RuntimeException $e) { $this->setError(JText::sprintf('COM_USERS_DATABASE_ERROR', $e->getMessage()), 500); return false; } } } return false; } */ سپس به این بخش در جوملای خود بروید: ورود به بخش مدیریت -> مدیریت کاربران -> تنظیمات در این بخش: پارامتر "ارسال رمز عبور" را روی خیر تنظیم کنید. و پارامتر "فعال سازی حساب کاربری جدید" را روی مدیریت سایت تنظیم کنید. موفق و پیروز باشید. یاعلی نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
kianesfahan 7 ارسال شده در دی 95 سلام . ممنون دوست عزیز . در فایل \components\com_users\models\forms\registration.xml عبارتی که فرمودید توی اون دو عبارت برای ما اصلا نبود !!!! مابقی قسمت ها را طبق گفته شما عوض کردیم اما صفحه ثبت نام سایت اصلا وارد میشیم کلا سفید میشه . باید چه کنیم ؟ نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
kianesfahan 7 ارسال شده در دی 95 از دوستان کسی هست در این زمینه راهنمائی کند ؟ نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
رضاقاسمی 1,539 ارسال شده در دی 95 با سلام 1. ابتدا بکاپ تهیه کنید 2. جوملای خود را به آخرین نسخه جومینا بروزرسانی کنید. 3. پچ زیر را در روت جوملای خود آپلود و اکسترکت کنید. مشکل حل میشه. path.zip نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
kianesfahan 7 ارسال شده در دی 95 سلام . وقت بخیر . ممنون . ما از جومینا استفاده نمی کنیم و از جوملای اصلی استفاده میکنیم . برای ان هم همین روش را طی کنیم ؟ نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
رضاقاسمی 1,539 ارسال شده در دی 95 با سلام مشکلی نیست به آخرین نسخه جوملا 3 یعنی 3.6.5 بروزرسانی کنید . نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
kianesfahan 7 ارسال شده در دی 95 ممنون . چه طور میشود که کلا فلید ایمیل را حذف کرد و به جاش فلید شماره موبایل اضافه کرد ؟ نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
رضاقاسمی 1,539 ارسال شده در دی 95 سلام اول کل آموزش رو انجام بدید بعد تو بخش اول آموزش یعنی 1. غیرفعال کردن ضروری بودن فیلد برید و کلا اون تیکه کد رو حذف کنید. برای فعال کردن فیلد موبایل هم بهتره تاپیک جدید بزنید چون جاش تو این تاپیک نیست. موفق باشید. نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
masodjavanmard 0 ارسال شده در دی 95 سلام همه مراحل رو انجام دادم، ديگه نیاز به وارد کردن ایمیل نیست اما بازم بعد ثبت نام میگه لینک فعال سازی به ایمیل شما ارسال شد، چکار کنیم که فعال سازی حساب به طور خودکار انجام شه؟ در صورتی که کاربر هیچ ایمیلی وارد نکنه میخوام حسابش فعال شه متشکرم نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
رضاقاسمی 1,539 ارسال شده در دی 95 این بخش رو انجام ندادید: سپس به این بخش در جوملای خود بروید: ورود به بخش مدیریت -> مدیریت کاربران -> تنظیمات در این بخش: پارامتر "ارسال رمز عبور" را روی خیر تنظیم کنید. و پارامتر "فعال سازی حساب کاربری جدید" را روی مدیریت سایت تنظیم کنید. نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر