رفع خطای invalid address جوملا 3.5

رفع خطای invalid address جوملا 3.5 - 5.0 out of 5 based on 7 votes
رفع خطای invalid address جوملا 3.5

بررسی و آموزش رفع خطای 0 - invalid address در جوملا 3.5

یکی از خطاهایی که اخیرا بسیار رایج شده و در بسیاری از سایتهای جوملایی که با نسخه 3.5 جوملا کار میکنند مشاهده میشود خطای 0 - invalid address هست که این خطا به دلیل تغییراتی که در تابع ارسال ایمیل در جوملا 3.5 داده شده است رخ میدهد. متدی که باعث رخ دادن این خطا میشود متد addReplyTo هست که از متدهای ارسال ایمیل در جوملا میباشد که قبلا ورودی این متد به شکل آرایه ای بود و مقادیر ورودی خود را از یک آرایه دریافت میکرد که کد آن به شکل زیر بود:

 
$mail->addReplyTo(array($replyTo, $replyToName));

ولی با تغییراتی که در جوملا 3.5 داده شده است ورودی این تابع از حالت آرایه ای خارج شده و به شکل زیر تغییر کرده است:

 
if(version_compare(JVERSION, '3.0', 'ge')) {
  $mail->addReplyTo($replyTo, $replyToName);
} else {
  $mail->addReplyTo(array($replyTo, $replyToName));
}

با توجه به توضیحاتی که داده شد برای رفع این مشکل که اکثرا در کامپوننتهای مخصوصا فروشگاهی و فرم سازها که نیاز به ارسال ایمیل دارن استفاده میشود به این ترتیب عمل میکنیم: ابتدا در افزونه ای که دچار این خطا هستیم به دنبال متد addReplyTo میگردیم برای جستجو میتوانید این متد را با Notpade++ در کل کامپوننت خود جستجو کرده و سریع پیدا کنید پس از پیدا کردن متد آن را از حالت:

 
$mail->addReplyTo(array($replyTo, $replyToName));

به حالت زیر تغییر میدهیم

 
if(version_compare(JVERSION, '3.0', 'ge')) {
  $mail->addReplyTo($replyTo, $replyToName);
} else {
  $mail->addReplyTo(array($replyTo, $replyToName));
}

اگر احیانا باز خطا داشتید از try و catch به شکل زیر استفاده کنید

 try {
     if(version_compare(JVERSION, '3.0', 'ge')) { 
            $mail->addReplyTo( $replyTo, $replyToName);
      } else {
              $mail->addReplyTo(array($replyTo, $replyToName));
      }
} catch (Exception $e) {
      ////
}

این تغییرات را تا به حال روی چند تا از کامپوننتهای مهم جوملا مثل Rsform و hikashop و virtuemart و غیره انجام دادیم که در همگی بخوبی کار کرده و مشکل رفع شده است. امیدواریم از این قسمت از آموزشهای وبسایت افزونه نویسی ارس جوملا استفاده لازم را برده باشید.

آخرین ویرایش در یکشنبه, 01 اسفند 1395 ساعت 11:40

رسانه

Overall Rating (0)

0 out of 5 stars
  • نظری یافت نشد

پشتیبانی و تماس

شماره تماس:
09126943664
تلگرام:

@arasjoomla

ایمیل:

arasjoomla@gmail.com

عضویت در خبرنامه

جهت آگاهی از جدیدترین افزونه ها و تخفیفها

ما را دنبال کنید

کانال ارس جوملا در تلگرام