Благодарю! Написал модуль.
Сначала вызов getCategories, потом по id категории вызов getProducts, получение массива с id товаров, ну и сама ссылка
$product_href = $this->url->link('product/product', 'product_id=' . $product['product_id']);
Немного разобрался с устройством opencart.
Я использую для вывода названия товара в моем моделе запись 'model', которая в админке обозначена как "Модель", вместо 'name', потому что хочу использовать сокращенные названия товара. Наверно правильнее создавать еще одно поле в базе данных и пользоваться им? Где взять подобный пример/модуль чтобы узнать как это делать?
Еще вопрос есть по родному модулю категорий, по передаче переменной $category_id в шаблон /template/catalog/view/theme/default/template/module/category.tpl
В этом файле есть такие строчки, выделено красным:
<?php echo '<h1>'.$category_id.'</h1>' ?>
<div class="list-group">
<?php foreach ($categories as $category) { ?>
<?php if ($category['category_id'] == $category_id) { ?>
<a href="<?php echo $category['href']; ?>" class="list-group-item active"><?php echo $category['name']; ?></a>
<?php if ($category['children']) { ?>
<?php foreach ($category['children'] as $child) { ?>
<?php if ($child['category_id'] == $child_id) { ?>
<a href="<?php echo $child['href']; ?>" class="list-group-item active"> - <?php echo $child['name']; ?></a>
<?php } else { ?>
<a href="<?php echo $child['href']; ?>" class="list-group-item"> - <?php echo $child['name']; ?></a>
<?php } ?>
<?php } ?>
<?php } ?>
<?php } else { ?>
<a href="<?php echo $category['href']; ?>" class="list-group-item"><?php echo $category['name']; ?></a>
<?php } ?>
<?php } ?>
</div>
Как эти переменные туда передаются? В файле модуля category.php их нету.
Я так понимаю эти условия для сворачивания/разворачивания списка в зависимости от категории.
Если я в свой шалон пишу echo($category_id); то выдает еррор.