Использовать функцию фронтальной стороны со стороны администратора

Я работаю над версией 1.5.1.3 . На одном этапе я хочу использовать функцию фронтальной стороны в файле контроллера администратора.

Кто-нибудь может мне помочь, пожалуйста.? Было бы признательно.

Я знаю, что это поздно, но, возможно, полезно для будущих работ.
Просто вы можете добавить функцию в /system/engine/loader.php . Но вы можете знать, что это прямо может нанести вам вред в будущем. Так что сделайте это через vqmod . Я расскажу вам, как:

 <?xml version="1.0" encoding="UTF-8"?> <modification> <id>Loadin Catalog Models</id> <version>1.0</version> <vqmver>2.X</vqmver> <author>Hossein Shahsahebi</author> <file name="system/engine/loader.php"> <operation info="Add function which I could access catalog models from admin"> <search position="after"><![CDATA[ protected $registry; ]]></search> <add><![CDATA[ public function catalogModel($model) { $file = DIR_CATALOG . 'model/' . $model . '.php'; $class = 'Model' . preg_replace('/[^a-zA-Z0-9]/', '', $model); if (file_exists($file)) { include_once($file); $this->registry->set('model_' . str_replace('/', '_', $model), new $class($this->registry)); } else { trigger_error('Error: Could not load model ' . $model . '!'); exit(); } } ]]></add> </operation> </file> </modification> 

Вы можете поместить этот код в имя файла your_own_chosen_name.xml и поместить его в /vqmod/xml .
Теперь для использования, например, для shipping/flat модели каталога каталога в admin используйте это:

 $this->load->catalogModel('shipping/flat'); 

Проще говоря, вы не можете. Что вам нужно сделать, это либо дублировать файл модели, если одно имя не существует в стороне администратора, или добавить метод, который вам нужен для файла модели с правами администратора

Это то, что я сделал: у вас есть модельный каталог / model / foo / frontbar.php и еще одна модель admin / model / foo / adminbar.php

Вы хотите inlcude frontbar.php в adminbar.php, а затем обратиться к методам передних панелей.

в adminbar.php выполните что-то вроде этого:

 <?php include_once __DIR__.'/../../../catalog/model/foo/frontbar.php'; class ModelFooAdminbar extends Model { private $frontInstance; public function fromFront() { if(!$this->frontInstance){ $this->frontInstance = new ModelFooFrontbar($this->registry); } return $this->frontInstance; } } ?> 

Затем в контроллере администратора сделайте что-то вроде этого:

 $this->load->model('foo/adminbar'); $this->data['someFrontData'] = $this->model_foo_adminbar->fromFront()->getSomeMethodInFrontbar();