Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Свой блок на панели управления dashboard


RubenS

Recommended Posts

Господа.

 

Хочу сделать вывод неких своих записей внизу dashboard на главной странице панели управления.

 

Для opencart 2.1.0.3 давно сделал и все работает, но для ocStore 2.3.хх что-то не получается , ругается гад....

 

Fatal error: Class 'Controllercommonmylinks' not found in ........../system/storage/modification/system/engine/action.php on line 43

 

Может кто какой модуль посоветует?

 

 

Змінено користувачем RubenS
Надіслати
Поділитися на інших сайтах


51 минуту назад, RubenS сказал:

Может кто какой модуль посоветует?

 

Для opencart 2.1.0.3 делали с помощью модуля? Может надо просто модуль адаптировать под новую версию

Надіслати
Поділитися на інших сайтах


Да делал модификатором + файл контроллера admin\controller\common\mylinks.php +  файл перевода admin\language\ru-ru\common\mylinks.php + файл вывода admin\view\template\common\mylinks.tpl 

И модификацией:

	<file path="admin/controller/common/dashboard.php">
		<operation>
			<search><![CDATA[$data['activity'] = $this->load->controller('dashboard/activity');]]></search>
			<add position="after"><![CDATA[

				$data['mylinks'] = $this->load->controller('dashboard/mylinks');

			]]></add>
		</operation>
	</file> 
	<file path="admin/view/template/common/dashboard.tpl">
		<operation>
			<search><![CDATA[<div class="col-lg-8 col-md-12 col-sm-12 col-sx-12"> <?php echo $recent; ?> </div>
    </div>]]></search>
			<add position="after"><![CDATA[

    <div class="row">
      <div class="col-lg-12 col-md-12 col-sm-12 col-sx-12"> <?php echo $mylinks; ?> </div>
    </div>

			]]></add>
		</operation>
	</file> 

 

 

Это -то понятно что надо адаптировать, но вот как-то не пойму в чем такие различия...

Надіслати
Поділитися на інших сайтах


22 минуты назад, RubenS сказал:

dashboard/activity

Надо посмотреть соседний контроллер какое правило найменнования класса. Возможно другое название класса в admin\controller\common\mylinks.php должно получится

Надіслати
Поділитися на інших сайтах


2 часа назад, RubenS сказал:

Для opencart 2.1.0.3 давно сделал и все работает, но для ocStore 2.3.хх что-то не получается

У этих версий отличается вывод. У 2.1 это идет в файле menu, а у высших в файле column_left

у меня в column_left идет код  return $this->load->controller('supertools/supermenu').$this->load->view('common/column_left', $data);

А в контроллере

 

Цитата

 

 class ControllerSupertoolsSuperMenu extends Controller
   {

   public function index()
     {
/**
 CREATE SUPERMENU
*/
       $this->load->language('supertools/supermenu');
       $data['text_supertools'] = $this->language->get('text_supertools');
       $files = glob(DIR_APPLICATION . 'controller/supertools/tool_*.php');
               if ($files) {
                   if(VERSION>='3.0'){
            foreach ($files as $file) {
                $item = basename($file, '.php');
                $this->load->language('supertools/'.$item);
             $supertools[] = array('href' =>$this->url->link('supertools/'.$item,'user_token='.$this->session->data['user_token']),'name' =>$this->language->get('text_supertools_'.$item),'children'=>'');
         }
                 $data = array(
                'id'       => 'menu-supertools',
                'icon'       => 'fa-star',
                'name'       => $this->language->get('text_supertools'),
                'href'     => '',
                'children' => $supertools
            );
                }
                else
                {
                foreach ($files as $file) {
                $item = basename($file, '.php');
                $this->load->language('supertools/'.$item);

           $data['supertools'][] = array('url' =>$this->url->link('supertools/'.$item,'token='.$this->session->data['token'],'SSL'),'text' =>$this->language->get('text_supertools_'.$item));
         }
                }    
        }
     if(VERSION>='3.0') return $data;
     return $this->load->view('supertools/supermenu.tpl',$data);
     }
   }

 

Функция glob(DIR_APPLICATION . 'controller/supertools/tool_*.php') производит поиск файлов по шаблону и затем идет подключении их в меню.

 

Вот view (приклеивается в панель при помощи квери)
 

Цитата

 

<script>
$(document).ready(function() {
$('#menu').append('<li id="supertools"><a class="parent" onClick="reaction()"><i class="fa fa-wrench fa-fw"></i> <span><?php echo $text_supertools; ?></span></a><? if(isset($supertools)){?><ul><div id="superdiv" ><? foreach($supertools as $tools){?><li><a href="<?=$tools["url"]; ?>"><?=$tools["text"]; ?></a></li><?}?></div></ul><?}?></li>');
$('li#supertools>ul').addClass('collapse');
});

function reaction(){
if ($('#column-left').hasClass('active')) {            $('li#supertools').toggleClass('open').children('ul').collapse('toggle');
}
}
</script>

 

 

Надіслати
Поділитися на інших сайтах

Ну как получилось разобратся? Когда в коде встречается такая запись

3 часа назад, RubenS сказал:

$this->load->controller('dashboard/mylinks');

 

движок по определнному алгоритму ищет файл, в котором должен быть класс, который называется тоже определенным образом. Скорее всего в разных версиях, алгоритм немного разный. И вот он находит файл, иначе бы заругался, хотя может и не заругался. Вообщем он либо вообще не может подключить файл, либо ожидает другое название класса. Поэтому возникает ошибка:

5 часов назад, RubenS сказал:

Fatal error: Class 'Controllercommonmylinks' not found

 

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.