rezabaghaie

ارور JController::getInstance()

8 پست در این موضوع

سلام 

من priceleaf رو نصب کردم - موقعی که وارد کامپوننت میشم صفحه سفید نشون میداد وقتی گزارش خطا رو حداکثر کردم دیدم این پیغام ها رو میده:

نقل قول

Notice: Use of undefined constant DS - assumed 'DS' in /home/erctakir/public_html/takidea95/administrator/components/com_priceleaf/priceleaf.php on line 21

Notice: Use of undefined constant DS - assumed 'DS' in /home/erctakir/public_html/takidea95/administrator/components/com_priceleaf/priceleaf.php on line 21

Fatal error: Call to undefined method JController::getInstance() in /home/erctakir/public_html/takidea95/administrator/components/com_priceleaf/priceleaf.php on line 27

و این هم سورس کد جایی که ارور میده:

<?php
defined('_JEXEC') or die('Restricted access');
 
jimport('joomla.application.component.controller');
 

class PriceleafController extends JController
{

	function display($cachable = false) 
	{
		JRequest::setVar('view', JRequest::getCmd('view', 'Priceleafs'));
 
		parent::display($cachable);
		
		PriceleafHelper::addSubmenu(JRequest::getCmd('view', 'priceleaf'));
	}
}

چجوری درستش کنم؟

Share this post


Link to post
Share on other sites
آموزش ووکامرس قالب جوملا قالب وردپرس قالب رایگان وردپرس قالب رایگان جوملا هاست نامحدود هاست جوملا هاست لاراول هاست وردپرس هاست ارزان هاست ربات تلگرام خرید دامنه آموزش ساخت ربات تلگرام با php آموزش لاراول آموزش cPanel آموزش php آموزش فرم ساز RSform آموزش ساخت ربات جذب ممبر آموزش ساخت ربات دوستیابی آموزش ساخت ربات فروشگاهی برای ووکامرس آموزش طراحی سایت داینامیک با php آموزش بخش پشتیبانی با rsticket

کد JController رو به  JControllerLegacy تغییر بدید تست کنید البته احتمالا باید جاهای دیگه کامپوننت هم به کلاس Legacy تغییر کنه

چک کنید نسخه ای که نصب کردید با جوملا 3 سازگار باشه ممکنه نسخه ای که نصب کردید برای جوملا 3 نباشه

Share this post


Link to post
Share on other sites
در 6 ساعت قبل، saber گفته است :

کد JController رو به  JControllerLegacy تغییر بدید تست کنید البته احتمالا باید جاهای دیگه کامپوننت هم به کلاس Legacy تغییر کنه

چک کنید نسخه ای که نصب کردید با جوملا 3 سازگار باشه ممکنه نسخه ای که نصب کردید برای جوملا 3 نباشه

priceleaf رو نصب کردم - خودش نوشته نسخه 3 - از وقتی به ورژن جدید 3 آپدیت کردم این مشکلات شروع شده

Share this post


Link to post
Share on other sites

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

نقل قول

Fatal error: Class PriceleafViewPriceleafs cannot extend from interface JView in /home/erctakir/public_html/takidea95/administrator/components/com_priceleaf/views/priceleafs/view.html.php on line 21

و این خط منظورش هست :

class PriceleafViewPriceleaf extends JView

*** از وقتی به 3.6 بروزرسانه کردم مشکلات سایت دو برابر شده!

Share this post


Link to post
Share on other sites

کلیه کلاسهای php مربوط به هسته جوملا روی این کامپوننت باید به کلاس Legacy تغییر پیدا کنن مثل همون نمونه اولی که بهتون گفتم

1 کاربر پسند دیده است

Share this post


Link to post
Share on other sites
در 6 ساعت قبل، saber گفته است :

کلیه کلاسهای php مربوط به هسته جوملا روی این کامپوننت باید به کلاس Legacy تغییر پیدا کنن مثل همون نمونه اولی که بهتون گفتم

نشد ! الان این  Legacy  رو باید به کجای این کد اضافه کنم؟ هرجاش اضافه کردم نشد!

class PriceleafViewPriceleaf extends JView

اینم کد کامل

<?php
defined('_JEXEC') or die('Restricted access');
 
jimport('joomla.application.component.view');
 

class PriceleafViewPriceleaf extends JView
{
	
	public function display($tpl = null) 
	{
		$form = $this->get('Form');
		$item = $this->get('Item');
	    $script = $this->get('Script');
 
		if (count($errors = $this->get('Errors'))) 
		{
			JError::raiseError(500, implode('<br />', $errors));
			return false;
		}
		$this->form = $form;
		$this->item = $item;
		$this->script = $script;
 
		$this->addToolBar();
 
		parent::display($tpl);
		
		$this->setDocument();
	}
 

	protected function addToolBar() 
	{
		JRequest::setVar('hidemainmenu', true);
		$isNew = ($this->item->id == 0);
		JToolBarHelper::title($isNew ? JText::_('COM_PRICELEAF_RAZDEL_NEW') : JText::_('COM_PRICELEAF_RAZDEL_EDIT'), 'priceleaf');
		JToolBarHelper::apply('priceleaf.apply');
		JToolBarHelper::save('priceleaf.save');
		JToolBarHelper::cancel('priceleaf.cancel', $isNew ? 'JTOOLBAR_CANCEL' : 'JTOOLBAR_CLOSE');
	}
	
		protected function setDocument() 
	{
		$isNew = ($this->item->id < 1);
		$document = JFactory::getDocument();
		$document->setTitle($isNew ? JText::_('COM_PRICELEAF_RAZDEL_NEW') : JText::_('COM_PRICELEAF_RAZDEL_EDIT'));
		$document->addScript(JURI::root() . $this->script);
		$document->addScript(JURI::root() . "/administrator/components/com_priceleaf/views/priceleaf/submitbutton.js");
		JText::script('COM_PRICELEAF_ERROR');
	}
}

 

Share this post


Link to post
Share on other sites
در 6 ساعت قبل، saber گفته است :

کلیه کلاسهای php مربوط به هسته جوملا روی این کامپوننت باید به کلاس Legacy تغییر پیدا کنن مثل همون نمونه اولی که بهتون گفتم

خب ، اونو اضافه کردم حالا ارور این شده:

یک خطا رخ داده است .
500 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT 30' at line 3 SQL=SELECT * FROM `#__priceleaf_razdel` AS a ORDER BY LIMIT 30

 

Share this post


Link to post
Share on other sites

خطای دیتابیس دارید باید بررسی کنید ببینید اشکالش از کجاست به نظر این کامپوننت با نسخه جوملای شما اشکالات زیادی داره اگه توان برنامه نویسی دارید میتونید بررسی و رفع کنید

در غیر اینصورت بهتر هست از یه کامپوننت متناسب دیگه ای استفاده کنید

Share this post


Link to post
Share on other sites

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری