Привести к MVC модели Opencart 2

Тема в разделе "OpenCart", создана пользователем xasler, 27 окт 2015.

Метки:
  1. xasler

    xasler

    Регистрация:
    19 сен 2015
    Сообщения:
    21
    Симпатии:
    4
    Пишу, на повезет, вроде php немного знаю, но вот MVC для меня полная каша, как обычный код вывода последних отзывов привести к mvc модели? :
    PHP:
    <?php
    /* Подключение к серверу MySQL */
    $mysqli = new mysqli('localhost''greenhere_apple''xasler7753''greenhere_apple');

    if (
    mysqli_connect_errno()) {
    printf("Подключение к серверу MySQL невозможно. Код ошибки: %s\n"mysqli_connect_error());
    exit;
    }

    /* Посылаем запрос серверу */
    if ($result $mysqli->query('SELECT * FROM oc_review LIMIT 5 ')) {


    /* Выбираем результаты запроса: */
    while( $row $result->fetch_assoc() ){
    printf("%s (%s)\n"$row['author'], $row['text']);
    }

    /* Освобождаем память */
    $result->close();
    }

    /* Закрываем соединение */
    $mysqli->close();
    ?>
     
    Lasted edited by : 28 окт 2015
  2. VaLeXaR

    VaLeXaR

    Регистрация:
    24 мар 2015
    Сообщения:
    61
    Симпатии:
    86
    Все принципы постороения запросов можно посмотреть в моделях catalog/model
    Ваш код будет примерно такой
    PHP:
    $query $this->db->query("'SELECT * FROM oc_review LIMIT 5 '");


    foreach (
    $query->rows as $row) {
        
    printf("%s (%s)\n"$row['author'], $row['text']);
    }
     
    Lasted edited by : 28 окт 2015
  3. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    При чём тут вообще MVC? MVC - это архитектурный паттерн, а вы спрашиваете о том, как интегрировать ваш код в OpenCart (если вы спрашиваете не об этом, то вопросы задавать не умеете), но ваш код это только M.

    Откройте любую модель в OpenCart и посмотрите, как выполняются запросы к базе. Всю работу по взаимодействию с базой OpenCart берёт на себя, от вас требуется только сам запрос обёрнутый в
    PHP:
    $this->db->query()
    В ответ вы получите объект со всеми записями соответствующими условиям запроса. Что с ним делать уже написано в примере постом выше.

    Если же вы пишите модуль вывода последних отзывов, то вам действительно нужны все три компонента MVC и один дополнительный - L (автор утверждает, что у ОК модель MVCL, где четвёртый компонент - это язык ) и отличным примером является любой из стандартных модулей OpenCart. Посмотрите, из каких файлов они состоят и что в этих файлах и у вас не останется вопросов, OpenCart настолько прост, насколько это вообще возможно.
    Файлы ищите в:
    /catalog/controller/module/
    /catalog/view/theme/default/template/module/
    /catalog/model/ (у модулей очень редко есть отдельные модели, они используют уже существующие обычно)
    /catalog/language/russian/module/
     
  4. Baco

    Baco Антихронофаг Команда форума

    Регистрация:
    9 окт 2012
    Сообщения:
    803
    Симпатии:
    399
    xasler нравится это.