Здравствуйте! Подскажите как вывести в каталоге товаров под Именем товара - Название производителя и -Категорию Opencart 1.5.5.1 товара?
1) Открыть Контроллер и посмотреть какой массив данных выводится (catalog\controller\product\<необходимый раздел>) при необходимости добавить категорию и производителя впрочем они вроде есть .. $this->data['manufacturer'] = $product_info['manufacturer']; $this->data['breadcrumbs'][] = array( 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'path=' . $path), 'separator' => $this->language->get('text_separator') ); 2) Открыть вьюху (catalog\view\theme\<ваша тема>\template\product\<тот-же раздел что и выше>) и в необходимом месте вставить переменную например <?php echo $manufacturer ?> или <?php echo $breadcrumbs['text'] ?>
Для начала спрошу самое простое ... 1) Вы знаете основы MVC ? 2) Есть ли опыт в программировании на php ? Если ответы на 1 и 2 нет , то дальше будет сложно ... view - ваша тема, данные которые отображаются во многом зависят от темы и её дизайна, производитель как-правило из контроллера передается как $manufacturer, соответственно при выводе товара его надо прописать в нужном месте , например ... <?php if ($manufacturer) { ?> <span><?php echo $text_manufacturer; ?></span> <a href="<?php echo $manufacturers; ?>"><?php echo $manufacturer; ?></a><br /> <?php } ?> --- Добавлено, 18 сен 2013 --- Как я понял со скриншота вам это всё необходимо в разделе категорий, соответственно смотреть надо в product\category.php и product\category.tpl в моем случае, данные по категории имеют такой вид <?php if ($thumb || $description) { ?> <div class="category-info"> <?php if ($thumb) { ?> <div class="image"><img src="<?php echo $thumb; ?>" alt="<?php echo $heading_title; ?>" /></div> <?php } ?> <?php if ($description) { ?> <?php echo $description; ?> <?php } ?> </div> <?php } ?> Но опять-же, это всё зависит от темы ... Контроллер выдает $thumb и $manufacturers , а использует ли это вьюха или нет ...
Спасибо! Да немного знаю Да именно в эти файлы я и вносил изменения, но ничего так и не работает я добавил в контроллер if ($category_info) { $this->data['manufacturer'] = $product_info['manufacturer']; $this->data['breadcrumbs'][] = array( 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'path=' . $path . $url), 'separator' => $this->language->get('text_separator') ); И в тему добавил добавил <!-- image // =============--> <!--for swap image--> <?php if ($product['thumb_swap']) { ?> <div class="image"> <a href="<?php echo $product['href']; ?>"> <img oversrc="<?php echo $product['thumb_swap']; ?>" src="<?php echo $product['thumb']; ?>" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" style="border:none"/> </a> </div> <?php } else {?> <div class="image"> <a href="<?php echo $product['href']; ?>"> <img src="<?php echo $product['thumb']; ?>" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" style="border:none"/> </a> </div> <?php } ?> <!--/ swap img--> <div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a> <?php echo $manufacturer ?> <?php echo $breadcrumbs['text'] ?> </div> <?php if ($product['price']) { ?> <div class="price"> <?php if (!$product['special']) { ?> <?php echo $product['price']; ?> <?php } else { ?> <span class="saleIcon"><?php echo $product['saving']; ?>%</span> <span class="price-new"><?php echo $product['special']; ?></span> <span class="price-old"><?php echo $product['price']; ?></span> <?php } ?> <?php if ($product['tax']) { ?> <span class="price-tax"><?php echo $text_tax; ?> <?php echo $product['tax']; ?></span> <?php } ?> <br/> <span style="font-size:11px;font-weight:normal;">Доставка бесплатно</span> </div> <?php } ?> <div class="rating"> <img src="catalog/view/theme/villa/image/stars-<?php echo $product['rating']; ?>.png" alt="<?php echo $product['reviews']; ?>" /> </div> <!-- wish // compare // cart =============--> <div class="cartIcon"> <a class="cartImg" title="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');"></a> </div> <div class="manufacturer"><?php echo $product['manufacturer'];?></div> <div class="wishIcon"> <a class="wish" onclick="addToWishList('<?php echo $product['product_id']; ?>');" title="<?php echo $button_wishlist; ?>"></a> </div> <div class="compareIcon"> <a class="compare" onclick="addToCompare('<?php echo $product['product_id']; ?>');" title="<?php echo $button_compare; ?>"></a> </div> </div> <?php } ?> </div>
В 2-х словах о принципе mvc (model, view, controller) view - куда выводим (внешний вид html+css+js) , controller что выводим (php логика), model где берем (функции для работы с БД) Контроллер изначально выводит имя производителя и категорию, он не меняется А вот view - ваша тема, в ней надо добавить строки для отображения необходимого контента
Понял, но все-таки как мне вывести категории и производителей в каталоге? куда что вставлять и что я сделал не верно? --- Добавлено, 18 сен 2013 --- Подскажите, пожалуйста, что в него внести и куда Мой фаил catalog.tpl --- Добавлено, 18 сен 2013 ---
Странно ... <div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a> <?php echo $manufacturer ?> <?php echo $breadcrumbs['text'] ?> вроде должно отображать ...
Подскажите, что внести в него? Может что то здесь не верно? мой фаил контроллера catalog.php Последнее редактирование: только что
Да всё должно быть верно ... пробуйте через </hr><?php var_dump($manufacturer, $breadcrumbs) ?></hr> во вьюхе что выводит и убедитесь что смотрите правильный файл (соответствие route в урл ) и физически файла ... а то вдруг мы говорим о разных вещах
У меня подобная фигня была, только нужно было вывести артикул. Дак вот, дело оказалось в модуле фильтр про, его скрипты конфликтовали со скриптами темы. Так что если ниче не помогает проверьте не конфликтуют ли скрипты какие-либо.
Ну в журнале ошибок поглядите (у меня правда в журнале почему то ошибку не выдавало) или попробуйте сделать на дефолтной теме то что предыдущий автор предлагает. Методом исключения выявите причину.