OpenCart, прикручиваем модель к контроллеру

adjustable_wrench

Для того что бы прикрутить модель к контроллеру в системе OpenCart, первым делом необходим загрузить модель, для этого прописываем в контроллере следующие строки

Где файл «information.php» это модель, которая располагается в директории catalog/model/catalog .

Далее, вызываем нужную нам функцию модели и присваиваем ее значение переменным

С переменной $temp мы можем работать только внутри контроллера, для того чтобы она стала доступна файлу представления, необходимо объявлять переменные через $this->data[…], как  пример:

Теперь файл представления видит переменную $temp со значением переданной функцией «function_test» модели catalog\model\catalog\information.php.

 




Буду признателен если вы поделитесь данным постом

Комментарии
  1. Павел пишет:

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

  2. admin пишет:

    Всегда пожалуйста.

    Хм… Павел, что вы имеет ввиду по поводу «менять местоположение выводимой информации»?

    Идея хорошая, надо со временем её развить и написать пост как это сделать.

    Сейчас могу сказать только следующее, в посте «добавляем настройки в панель администратора» я описал как добавить опцию по редактированию текста и управлению изображениям. За основу я брал, стандартные опции панели администратора.
    Попробуйте поступить также, возьмите за пример какой либо выпадающий список, например «шаблон магазина». В выпадающем списке распишите варианты расположения какого либо блока информации, допустим столбца «категории». Например «слева», «справа». В представление страницы, через условие IF проверьте выпадающий список и в зависимости от содержимого выводите в той или иной части столбец «категории».

    Если сложновато, я могу вам помочь в решение данной проблемы, напишите мне свой e-mail и я с вами свяжусь.

  3. Александр пишет:

    Здравствуйте, уважаемый админ,решил сделать отдельную страницу для статей, все ссылки нормально вывелись, дальше на основе краткого описания из данной темы https://opencartforum.com/topic/24883-%D0%BA%D1%80%D0%B0%D1%82%D0%BA%D0%BE%D0%B5-%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%BE%D0%B2-%D0%B4%D0%BB%D1%8F-ocstore/?hl=short_description, сделал краткое описание, и попробовал вставить его на свою страницу и получил Нотайс в ответ, проверил код на стандартной странице где уже выводятся статьи information/information, и там всё прекрасно вывелось, как я понял, нужно как то сделать выборку из базы данных в самом контроллере созданной страницы, файл модели я не создавал, получается нужно подключить страницу к стандартной модели, информации по данной теме нигде нет, не могли бы вы в кратце объяснить, как соединиться с базой данных? вариант с вашей статьи прикручиваем модель к контроллеру не подошел.
    Зарание спасибо, за любую подсказку.

  4. admin пишет:

    Добрый день Александр. К сожалению я не могу посмотреть что за тема на форуме опенкарт (скажите спасибо админам). Для решение данной проблемы рекомендую идти следующим образом:

    1. Разобраться какие переменные вызывают ошибку
    2. Объявить эти переменные в контролере. Если в «information/information» вы говорите данный код работает, то можете взять за образец контроллер information, посмотрите как там объявляются переменные. Это рутинная работа, но сделать её можно. Бывает такое, что нужная вам переменная, это результат от какой то фукнции, которую нужно «проинициализировать» ($this->модель_имя->имя_функции();), а чтобы её «проинициализировать» необходимо подключить модель модель_имя. Вообщем нужно идти по цепочки, пока не исчезнут ошибки.

    Модель вам создавать для вашей новой страницы не нужно, вы будете использовать уже готовые модели.

  5. Александр пишет:

    Забыл указать, версия ocStore 1.5.5.1.2 тема дефолтная

  6. Александр пишет:

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

  7. Сергей пишет:

    а из админки прикрутить модель каталога, как?

  8. admin пишет:

    Добрый день Сергей, не понял вопроса. Что вы имеет ввиду под прикрутить модель к админке?

  9. admin пишет:

    Добрый день Сергей, не понял вопроса. Что вы имеет ввиду под прикрутить модель к админке?

  10. Владимир пишет:

    $this->data так указывают свойство класса, а вид передается переменная $data;



Ваш комментарий


Ответ в цифрах

 
© s-engineer.ru, 2012-2017 | Все права защищены