Пишу модуль, вопрос по подключению моделей и вывода данных товара

Тема в разделе "OpenCart", создана пользователем ddr3, 16 авг 2016.

  1. ddr3

    ddr3

    Регистрация:
    15 апр 2016
    Сообщения:
    4
    Симпатии:
    0
    Привет.
    Пишу свой модуль, сделал 6 файлов

    Код:
    catalog\view\theme\default\template\module\mymodul.tpl
    catalog\controller\module\mymodul.php
    catalog\language\russian\module\mymodul.php
    admin\view\template\module\mymodul.tpl
    admin\controller\module\mymodul.php
    admin\language\russian\module\mymodul.php
    
    Вопрос состоит в использовании имеющихся моделей
    В файле контроллера catalog\controller\module\mymodul.php
    Есть строчки
    Код:
    $this->load->model('catalog/product');  
    $this->load->model('catalog/category');
    $data['product_info']=$this->model_catalog_product->getProduct(41);
    
    То есть подключаются имеющиеся модели
    В файле
    catalog\view\theme\default\template\module\mymodul.tpl
    Дампится полученный массив
    print_r($product_info);

    В результате на сайте выводится массив $product_info для товара 41, у меня вот так:
    Код:
    Array
    (
        [product_id] => 41
        [name] => iMac
        [description] =>  тут описание, вырезано
        [meta_title] => iMac
        [meta_h1] => 
        [meta_description] => 
        [meta_keyword] => 
        [tag] => 
        [model] => ????? 14
        [sku] => 
        [upc] => 
        [ean] => 
        [jan] => 
        [isbn] => 
        [mpn] => 
        [location] => 
        [quantity] => 977
        [stock_status] => ??? ? ???????
        [image] => catalog/demo/imac_1.jpg
        [manufacturer_id] => 8
        [manufacturer] => Apple
        [price] => 100.0000
        [special] => 
        [reward] => 0
        [points] => 0
        [tax_class_id] => 9
        [date_available] => 2009-02-03
        [weight] => 5.00
        [weight_class_id] => 1
        [length] => 0.00
        [width] => 0.00
        [height] => 0.00
        [length_class_id] => 1
        [subtract] => 1
        [rating] => 0
        [reviews] => 0
        [minimum] => 1
        [sort_order] => 0
        [status] => 1
        [date_added] => 2009-02-03 21:07:26
        [date_modified] => 2011-09-30 01:06:44
        [viewed] => 0
    )
    
    Собственно вопрос в том, как получить ссылку на товар, обработанную ЧПУ?
    В данном примере не выводится вообще никакой ссылки, ссылки нету в $product_info
    Я так понимаю надо писать свою модель и там sql запросы? Или уже это есть в движке?
    В идеале я хочу модуль умеющий выводить определенные товары с определенных категорий
    Спасибо
     
  2. ddr3

    ddr3

    Регистрация:
    15 апр 2016
    Сообщения:
    4
    Симпатии:
    0
    Разобрался
    $product_href = $this->url->link('product/product', 'product_id=' . $product['product_id']);
    Мне не понятно как переменная $category_id попадает в шаболон category.tpl. В category.php нет такой перменной. Там отдается только массив $categories
     
  3. Dotrox

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

    Регистрация:
    27 ноя 2012
    Сообщения:
    2.042
    Симпатии:
    774
    Куда именно в шаблон?
    Там нигде нет случайно чего-то типа такого:

    PHP:
    foreach($categories as $category_id){

    }
    И какая у вас версия?