Nano Hash - криптовалюты, майнинг, программирование

Создание изображения категории в виде миниатюры в меню, OpenCart 2.0.x

Мне трудно сделать это возможным. что я собираюсь сделать, так это то, что я хочу, чтобы изображения категорий в моем меню были превью в Opencart 2.0.x.

Я поместил 'thumb' => $thumb в catalog/controller/common/header.tpl

Как это:

        // Menu
    $this->load->model('catalog/category');

    $this->load->model('catalog/product');

    $data['categories'] = array();

    $categories = $this->model_catalog_category->getCategories(0);

    foreach ($categories as $category) {
        if ($category['top']) {
            // Level 2
            $children_data = array();

            $children = $this->model_catalog_category->getCategories($category['category_id']);

            foreach ($children as $child) {
                $filter_data = array(
                    'filter_category_id'  => $child['category_id'],
                    'filter_sub_category' => true
                );

                $children_data[] = array(
                    'name'  => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
                    'href'  => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id'])
                );
            }

            // Level 1

        $this->load->model('tool/image');
        $image = empty($category['image']) ? 'no_image.jpg' : $category['image'];
        $thumb = $this->model_tool_image->resize($image, 100, 100);

            $data['categories'][] = array(
                'name'     => $category['name'],
                'children' => $children_data,
                'thumb'    => $thumb,
                'column'   => $category['column'] ? $category['column'] : 1,
                'href'     => $this->url->link('product/category', 'path=' . $category['category_id'])
            );
        }
    }

И я также поместил $category['thumb'] в catalog/view/theme/default/template/common/header.tpl

Как это:

                <?php if ($categories) { ?>
            <nav id="navigation">
                <div class="boxed bg-navigation">
                    <div class="container">
                        <ul data-breakpoint="800" class="flexnav with-js lg-screen clearfix">
                            <?php foreach ($categories as $category) { ?>
                            <?php if ($category['children']) { ?>
                            <li><a href="<?php echo $category['href']; ?>" ><?php echo $category['name']; ?></a>
                                <ul class="list-unstyled ul-col-<?php echo $category['column']; ?>">
                                    <?php foreach (array_chunk($category['children'], ceil(count($category['children']) / $category['column'])) as $children) { ?>
                                    <?php if ($category['column'] == 1) { ?> 
                                    <?php foreach ($children as $child) { ?>
                                    <li><a href="<?php echo $child['href']; ?>"><?php echo $child['name']; ?></a></li>
                                    <?php } ?>
                                    <?php } else { ?>
                                    <li class="li-inline">
                                        <div>
                                            <?php foreach ($children as $child) { ?>
                                            <?php $category['thumb']?>
                                            <a href="<?php echo $child['href']; ?>"><?php echo $child['name']; ?></a>
                                            <?php } ?>
                                        </div>
                                    </li>
                                    <?php } ?>
                                    <?php } ?>
                                </ul>
                            </li>
                            <?php } else { ?>
                            <li><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a></li>
                            <?php } ?>
                            <?php } ?>
                        </ul>

                    </div>
                </div>
            </nav>
            <?php } ?>

Что я здесь делаю неправильно? я нашел это решение в Stack Overflow Solution

Но я не могу исправить это должным образом, это, вероятно, простая вещь, которую я действительно не вижу. Я делал это раньше с другим фреймворком в OpenCart 1.5.6.4. Но это также не помогло мне много, хе-хе. Если хотите, я могу вставить другой код в.

06.05.2015

Ответы:


1

Это потому, что $category['thumb'] содержит только источник изображения, поэтому в файле шаблона

Заменить <?php $category['thumb']?>

С <img src="<?php echo $category['thumb']?>" alt="<?php echo $child['name']; ?>"/>

Кроме того, в контроллере вы устанавливаете большой палец родительской категории и печатаете шаблон в дочерней категории, чтобы он снова и снова печатал одно и то же родительское изображение.

no_image.jpg заменено на no_image.png в последней версии.

07.05.2015
  • Я попробовал ваш ответ, но я получаю уведомление: неопределенный индекс: изображение или большой палец, если я изменяю то, что мы написали. Я пробовал все. И кое-что изменил, но ничего не работает должным образом. 07.05.2015

  • 2

    У меня была та же проблема, и она работала на Opencart 2.1.0.1. Вот файл catalog/controller/common/header.php:

    (line 113)
    // Level 2
                $children_data = array();
    
                $children = $this->model_catalog_category->getCategories($category['category_id']);
    
                foreach ($children as $child) {
                    $filter_data = array(
                        'filter_category_id'  => $child['category_id'],
                        'filter_sub_category' => true
                    );
    
                    $this->load->model('tool/image');
                    $image = empty($child['image']) ? 'no_image.png' : $child['image'];
                    $thumb = $this->model_tool_image->resize($image, 100, 100);
    
                    $children_data[] = array(
                        'name'  => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
                        'thumb'    => $thumb,
                        'href'  => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id'])
                    );
                }
    

    А вот мой файл catalog/view/theme/default/template/common/header.tpl:

    (line 108)
    <li><a href="<?php echo $child['href']; ?>"><img src="<?php echo $child['thumb']?>" alt="<?php echo $child['name']; ?>"/><br /><?php echo $child['name']; ?></a></li>
    

    Надеюсь это поможет.

    24.02.2016
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..