رفتن به مطلب
مصطفی صفرعلی

نمایش ارور برای ماژول آر اس اس در جوملا 1.7

پست های پیشنهاد شده

سلام به جومینایی ها

من برای نمایش ماژول آر اس اس سایتم با مشکل مواجه شدم . هر کاری هم کردم نشد که بفهمم ایراد از کجاست .

برای نمایش ماژول آر اس اس یه ماژول جدید از نوع syndicate feed ایجاد کردم و آن را در موقعیت syndicate قالبم قرار دادم . قالبم با آرتیستر طراحی شده است و مطمئنم که ایراد از قالب نیست چون روی دو تا فالب دیگه هم امتحان کردم همین مشکل بود(قالبهای پیشفرض جوملا و جومینا)

اما مشکل اینجاست که وقتی وارد سایت میشم به جای نمایش ماژول چند خط ارور یکسان دیده میشه به شرح زیر :

Warning: strpos() expects parameter 1 to be string, array given in C:\wamp\www\mysite\modules\mod_syndicate\helper.php on line 21

در جوملا 1.6 این مشکل را نداشتم . اما از وقتی که به جوملا 1.7 مهاجرت کردم این مشکل پیش اومده . در ضمن میخوام آر اس اس سایت خودم رو نشون بدم نه سایتهای دیگه .

به نظر شما برای رفع این ارور چه کاری باید انجام بدم ؟

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام دوست عزیز

شما به این مسیر برید

modules/mod_syndicate/helper.php

و این کد را پاک کنید

class modSyndicateHelper
{
  static function getLink(&$params)
  {
     $document = JFactory::getDocument();

     foreach($document->_links as $link)
     {
        if (strpos($link, 'application/'.$params->get('format').'+xml')) {
           preg_match("#href=\"(.*?)\"#s", $link, $matches);
           return $matches[1];
        }
     }

  }
}

و به جای اون این کد رو بگذارید

class modSyndicateHelper
{
  static function getLink(&$params)
  {
     $document = JFactory::getDocument();

     foreach($document->_links as $i=>$value)
     {
        if ($value[attribs][type] == 'application/'.$params->get('format').'+xml')
           return $i;
     }
  }
}

امیدوارم مشکلتون حل بشه

موفق باشید

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

ممنون mogtabaa جان

حالا ماژول نشان داده میشود ولی این بار به همراه ماژول یک ارور دیگه نشون میده به شرح زیر :

Notice: Use of undefined constant type - assumed 'type' in C:\wamp\www\mysite\modules\mod_syndicate\helper.php on line 21

الان در خط 21 این کد قرار دارد :

if ($value[attribs][type] == 'application/'.$params->get('format').'+xml')

منتظر راهنمایی شما و یا سایر دوستان هستم

پیشاپیش ممنونم.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام

احتمالا ماژولتون با جوملا 1.7 سازگار نیست

بعضی از ماژول های 1.6 روی 1.7 ارور میدن

با سلام

برای نمایش RSS از افزونه خاصی استفاده نکردم و از ماژول پیش فرض جوملا استفاده میکنم .

یعنی ماژول RSS پیش فرض جوملا هم با جوملا 1.7 سازگار نیست ؟

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام

شما برو به مسیر زیر :

modules/mod_syndicate/mod_syndicate.php

این رو

$link = modSyndicateHelper::getLink($params)."";

جایگزین این بکن

$link = modSyndicateHelper::getLink($params);

امیدوارم درست بشه

مثل اینکه این یکی از باگ های جوملای 1.7 هستش

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام مجدد به همه جومینایی ها و علاقمندان به جوملا

دفاعی جان راهکار شما را هم تست کردم ولی فرقی نکرد .

البته بعد از کلی کلنجار رفتن با چند تا فایل مختلف تازه فهمیدم که ای دل غافل ، آب در کوزه و ما تشنه لبان میگردیم .

حقیقت اینه که کدی که mogtabaa عزیز گذاشته بود درست بود منتهی چند تا علامت رو نگذاشته بود .

در اصل کد صحیح به شکل زیر است :

class modSyndicateHelper
{
  static function getLink(&$params)
  {
     $document = JFactory::getDocument();

     foreach($document->_links as $i=>$value)
     {
        if ($value['attribs']['type'] == 'application/'.$params->get('format').'+xml')
           return $i;
     }
  }
}

همانطور که ملاحظه میکنید در تابع if عبارتهای attribs و type بایستی داخل علامت کوتیشن ' ' هم قرار بگیرند .

اگه این کد رو با کدی که mogtabaa عزیز در پست شماره 2 قرار داده مقایسه کنید متوجه موضوع میشوید .

همانطور که آقای دفاعی اشاره کردند اینهم یکی از باگهای جوملا 1.7 بود که با کمک دوستان برطرف شد .

باز هم یکبار دیگر از این دو دوست عزیز کمال تشکر را دارم .

به امید پیشرفت هر چه بهتر جوملا و جومینا

شاد و پیروز و موفق باشید .

یا حق

:64 (17):

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید ارسال داشته باشید و بعد ثبت نام خود را در سایت کامل نمایید. اگر حساب کاربری در سایت دارید، جهت ارسال با حساب کاربری خود هم اکنون وارد سایت شوید

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


×
×
  • افزودن...