Перейти к содержанию
kagan

Как можно подгрузить модель в library/cart/cart.php

Рекомендуемые сообщения

Приветствую.

 

Подскажите пожалуйста как можно подключить свою модель в OpenCart 2.2 в библиотеке system/library/cart.cart.php

 

Пробовал так:

require_once(dirname(DIR_APPLICATION) . '/catalog/model/catalog/category.php');

$catalog_category_model = new ModelCatalogCategory($this->registry);
$result = $catalog_category_model->getCategory(5);

echo $result;

Результат:

Fatal error: Class 'Cart\ModelCatalogCategory' not found in /home/hoursco/dev/new/system/library/cart/cart.php on line 44

Другие варианты тоже пробовал, не помогло. Сейчас нуждаюсь в подсказке..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

..

Fatal error: Class 'Cart\ModelCatalogCategory' not found in /home/hoursco/dev/new/system/library/cart/cart.php on line 41

Видимо из-за namespace'а, который указан в верху.

namespace Cart;

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Решено. Рабочий вариант:

global $loader;

$loader->model('catalog/product');
$model = $registry->get('model_catalog_product');

echo "<pre>";
echo var_dump($model->getProduct(47));
echo "</pre>";
Изменено пользователем kagan

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Только после таких манипуляций на стороне сайта, в админке выбрасывает исключение, что модель не может быть загружена. (применил к своему модулю)

 

3BcarLY.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Частичное, но не полное решение, т.к. исключение вылетало из-за того, что не могло подгрузить модель которая не существует.

if (!defined('HTTP_CATALOG')) {
    global $loader;

    $loader->model('module/timer');
    $this->model_module_timer = $registry->get('model_module_timer');
}

Прописав else, т.е. когда мы находимся в админке и обращаемся к system/library/cart/cart.php с другим путем к модели, все равно выкидывает исключение хотя пути прописаны правильно.

Изменено пользователем kagan

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если честно не особо понимаю зачем вызывать в library model

Вызывайте там контроллер (в папке controller который), который будет вызывать модель

И... system/library/cart/cart.php у вас выступает каким классом? extends Controller ?

Т е суть такая - вызывайте модель из extends Controller. Это будет более правильно с точки зрения архитектуры

P.S. Это то что я хотел написать выше в "двух точках", но отвлекли и времени не было

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

markimax, Необходимо для проверки через метод, который там находится. Он используется не в 1 контроллере, поэтому я его вынес в модель.

 

/system/library/cart/cart.php

класс Cart в данном случае не наследуется, это OC 2.2.0.0

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От FlyShk
      Скачать/Купить дополнение


      3d viewer Opencart 2.0
      3D Object Viewer Opencart 2
      Модуль позволяет выводить исходный файл 3D обьекта из корневой папки сайта на страницу товара.
      Обладает адаптивными свойствами и полной поддержкой планшетных и мобильных устройств.
      Работает полностью на JavaScript, использует технологию Webgl и библиотеку JS + Html5.
      Работает с такими форматами как:
      - Wavefront obj File
      - STL File
      Пример: http://3dopencart2.esy.es/
      Добавил FlyShk Добавлено 02.11.2014 Категория Модули Системные требования Сайт разработчика Старая цена Метод активации Ioncube Loader OpenCart ocStore OpenCart.Pro, ocShop  
    • От Allaur
      Доброго времени суток!
      Есть необходимость вывести в <title> продукта  model
      То есть что бы титлы были такого вида
      Название товара - model
       
      Цену получилось вывести
       
      $this->document->setTitle($product_info['name']." - Цена ".$this->data['price']); Подскажите пожалуйста как подобным образом вывести model
    • От magzhan9292
      на корне сайта я создал папку generator/seo.php
      <?php // Configuration if (is_file('../config.php')) { require_once('../config.php'); } // Startup require_once(DIR_SYSTEM . 'startup.php'); class ControllerSeoMeta extends Controller{ public function index() { $this->load->model('catalog/product'); $data['header'] = $this->load->controller('common/header'); $data['column_left'] = $this->load->controller('common/column_left'); $data['footer'] = $this->load->controller('common/footer'); print_r('PRINT'); $this->response->setOutput($this->load->view('catalog/product_list', $data)); } } ?> как мне обратиться к этому файлу через браузер что-бы выводилось PRINT
      пытался так не получилось sitename.kz/generator/seo.php?route=catalog/product_list
      еще один вопрос как использовать готовые opencart классы модель
    • От tambu34
      Знаю, подобные треды были, но ответа для себя я так и не нашел. Просьба разжевать для меня.
      В Opencart есть поле model - некоторые говорят, что это код товара (артикул). В ocStore 2.1 в карточке товара выводится как "код товара". У себя я так и заполняю, уникальный код товара. Сейчас я задаюсь вопросом в реализации следующего: нужно, чтобы при нажатии на производителя выводился список моделей товаров (не артикулов), например:
      Шина Rosava --> модель Snowgard. И так далее. Какое всё же поле для этого стоит использовать? Может код товара перенести в SKU ?
      Вопрос иерархии меня немного тревожит, может быть я вообще хочу немного странного.
      Сейчас так: Категория-подкатегория-товар. (разные размеры одинаковых товаров хранятся в атрибутах)
      Рассматриваю также: Производитель-модель-товар. Возможно для такой реализации нужен отдельный модуль?
      Разжуйте мне на пальцах, как в Opencart 2 правильно внедрить понятие "Модель товара" (не артикул или код товара).
      Спасибо.
    • От Dzusto
      Как сделать необязательной к заполнению "Модель" ocstore 2.3 ? Все описанные способы в т.ч и на этом форуме уже опробованы и не работают. Выходит ошибка. Поле убирать не нужно, так как оно нужно, но надо сделать его необязательным , т.е. если нет - то пусть будет пусто.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×