За последние 24 часа нас посетили 17960 программистов и 1650 роботов. Сейчас ищут 1669 программистов ...

MVC Не вызывается модуль

Тема в разделе "Прочие вопросы по PHP", создана пользователем DemiuS, 10 мар 2016.

  1. DemiuS

    DemiuS Новичок

    С нами с:
    11 фев 2016
    Сообщения:
    33
    Симпатии:
    0
    Адрес:
    Киев
    Здравствуйте Форумчани, суть такова, пытаюсь сделать кое-что на OpenCart 2.x, в данный момент не могу понять почему не передаётся функцию и не вызывается в модуле.
    По порядку, есть базовый модуль:
    Controller:
    Код (PHP):
    1. <?php
    2. class ControllerModuleCatapulta extends Controller {
    3.  
    4.     protected function index() {
    5.             $this->language->load('module/test1');
    6.  
    7.             $this->document->addScript('catalog/view/javascript/jquery/colorbox/jquery.colorbox-min.js');
    8.             $this->document->addStyle('catalog/view/javascript/jquery/colorbox/colorbox.css');
    9.  
    10.             $this->data['heading_title'] = $this->language->get('heading_title');
    11.  
    12.             if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/test1.tpl')) {
    13.                 $this->response->setOutput($this->config->get('config_template') . '/template/module/test1.tpl', $data);
    14.             } else {
    15.                 $this->response->setOutput('default/template/module/test1.tpl', $data);
    16.             }
    17.     }
    18.  
    19. }
    20.  
    21. ?>
    View:
    Код (PHP):
    1. <input type="button" value="<?php echo $heading_title; ?>" class="button"/>
    Дальше я пытаюсь вызвать его в openCart Production:
    Controller:
    Код (PHP):
    1. $data['test1'] = $this->load->controller('module/test1');
    View:
    Код (PHP):
    1. <?php echo $test1; ?>
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
  3. DemiuS

    DemiuS Новичок

    С нами с:
    11 фев 2016
    Сообщения:
    33
    Симпатии:
    0
    Адрес:
    Киев
    Это движок OpenCart, она там вызывается в самом движке.
    Проблема в другом.
     
  4. Zuldek

    Zuldek Старожил

    С нами с:
    13 май 2014
    Сообщения:
    2.381
    Симпатии:
    344
    Адрес:
    Лондон, Тисовая улица, дом 4, чулан под лестницей
    Не буду даже интересоваться что вы там вызываете и как, но если предполагается что в итоге должен отрабатывать метод index указанного класса, то:

    Код (PHP):
    1.             $this->data['heading_title'] = $this->language->get('heading_title');
    2.  
    3.             if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/test1.tpl')) {
    4.                 $this->response->setOutput($this->config->get('config_template') . '/template/module/test1.tpl', $data); 
    Вы определяете свойство класса data в теле метода, а в шаблон передаете переменную $data которая в видимом контексте метода не определена.