Я только что получил новый OpenCart Store и у меня есть PHP ошибок - PullRequest
0 голосов
/ 27 апреля 2020

www.efekten.comm Это мой магазин. Я получаю 2 сообщения о том, что у меня есть ошибки.

Примечание: неопределенный индекс: имя в /home/efektenc/public_html/catalog/controller/extension/module/beauty_tab.php в строке 28 Примечание: неопределенный индекс: имя в / home / efektenc / public_html / каталог /controller/extension/module/shoes_tab.php в строке 28

Это готовый шаблон, поэтому я начал удалять категории И это происходит, когда я удаляю самую первую.

Но в меню администратора нет опции, где я могу их поменять, и если вы мне поможете, я был бы признателен

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

Код:

class ControllerExtensionModuleShoesTab extends Controller {
    public function index($setting) {
        $this->load->language('extension/module/shoes_tab');

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

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

        $this->load->model('tool/image');

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

        if (!$setting['limit']) {
            $setting['limit'] = 4;
        }

        if (!empty($setting['category'])) {
            //$categories = array_slice($setting['category'], 0, (int)$setting['limit']);

            $categories = $setting['category'];
            $data['template_name'] = $setting['name'];

            foreach ($categories as $category_id) {

                $category = $this->model_catalog_category->getCategory($category_id);

                $datainfo['category'] = $category['name'];

                $filter_data = array(
                    'filter_category_id'  => $category_id,
                    'filter_sub_category' => true,
                    'limit'               => (int)$setting['limit'],
                    'start'               => 0
                );

                $category_info = $this->model_catalog_product->getProducts($filter_data);

                if ($category_info) {
                    $datainfo['products'] = array(); // сбрасываем datainfo['products'] чтобы не было дубликата
                    foreach ($category_info as $key => $value) {
                        if ($value['image']) {
                            $image = $this->model_tool_image->resize($value['image'], $setting['width'], $setting['height']);
                        } else {
                            $image = $this->model_tool_image->resize('placeholder.png', $setting['width'], $setting['height']);
                        }

                        if ($this->customer->isLogged() || !$this->config->get('config_customer_price')) {
                            $price = $this->currency->format($this->tax->calculate($value['price'], $value['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']);
                        } else {
                            $price = false;
                        }

                        if ((float)$value['special']) {
                            $special = $this->currency->format($this->tax->calculate($value['special'], $value['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']);
                        } else {
                            $special = false;
                        }

                        $datainfo['products'][] = array(
                            'product_id'  => $value['product_id'],
                            'thumb'       => $image,
                            'name'        => $value['name'],
                            'description' => utf8_substr(strip_tags(html_entity_decode($value['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get('theme_' . $this->config->get('config_theme') . '_product_description_length')) . '..',
                            'price'       => $price,
                            'special'     => $special,
                            'rating'      => $value['rating'],
                            'href'        => $this->url->link('product/product', 'product_id=' . $value['product_id'])
                        );
                    }
                }
                $data['categories'][] = $datainfo;
            }
        }

        if ($data['categories']) {
            return $this->load->view('extension/module/shoes_tab', $data);
        }
    }
}

И следующий:

class ControllerExtensionModuleBeautyTab extends Controller {
    public function index($setting) {
        $this->load->language('extension/module/beauty_tab');

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

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

        $this->load->model('tool/image');

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

        if (!$setting['limit']) {
            $setting['limit'] = 4;
        }

        if (!empty($setting['category'])) {
            //$categories = array_slice($setting['category'], 0, (int)$setting['limit']);

            $categories = $setting['category'];
            $data['template_name'] = $setting['name'];

            foreach ($categories as $category_id) {

                $category = $this->model_catalog_category->getCategory($category_id);

                $datainfo['category'] = $category['name'];

                $filter_data = array(
                    'filter_category_id'  => $category_id,
                    'filter_sub_category' => true,
                    'limit'               => (int)$setting['limit'],
                    'start'               => 0
                );

                $category_info = $this->model_catalog_product->getProducts($filter_data);

                if ($category_info) {
                    $datainfo['products'] = array(); // сбрасываем datainfo['products'] чтобы не было дубликата
                    foreach ($category_info as $key => $value) {
                        if ($value['image']) {
                            $image = $this->model_tool_image->resize($value['image'], $setting['width'], $setting['height']);
                        } else {
                            $image = $this->model_tool_image->resize('placeholder.png', $setting['width'], $setting['height']);
                        }

                        if ($this->customer->isLogged() || !$this->config->get('config_customer_price')) {
                            $price = $this->currency->format($this->tax->calculate($value['price'], $value['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']);
                        } else {
                            $price = false;
                        }

                        if ((float)$value['special']) {
                            $special = $this->currency->format($this->tax->calculate($value['special'], $value['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']);
                        } else {
                            $special = false;
                        }

                        $datainfo['products'][] = array(
                            'product_id'  => $value['product_id'],
                            'thumb'       => $image,
                            'name'        => $value['name'],
                            'description' => utf8_substr(strip_tags(html_entity_decode($value['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get('theme_' . $this->config->get('config_theme') . '_product_description_length')) . '..',
                            'price'       => $price,
                            'special'     => $special,
                            'rating'      => $value['rating'],
                            'href'        => $this->url->link('product/product', 'product_id=' . $value['product_id'])
                        );
                    }
                }
                $data['categories'][] = $datainfo;
            }
        }

        if ($data['categories']) {
            return $this->load->view('extension/module/beauty_tab', $data);
        }
    }
}

Я получил эти коды в двух разных местах, может быть, даже больше ...

У меня они есть в обоих модулях в папке администратора, а также в папке каталога. Может быть, они как-то связаны, и когда я удалил категорию, очевидно, есть проблема с модулем ... Но как я могу изменить эти категории?

И если кто-то знаком с кодированием, я полюблю, если он объяснит мне как найти коды для мобильной версии, потому что ЕСЛИ ВЫ МОЖЕТЕ проверить сайт с помощью мобильной версии www.efekten.com, ВЫ МОЖЕТЕ увидеть, что LO GO сам ЗАКРЫВАЕТСЯ К КНОПКЕ TAB MENU? Можно ли это исправить и как?

Могу ли я сделать кнопку больше для МОБИЛЬНОЙ версии или как-то отделить ее от lo go, потому что в меню трудно попасть.

Спасибо, ребята! Я люблю тебя!

Ответы [ 2 ]

1 голос
/ 27 апреля 2020

Вы можете проверить, определен ли индекс следующим образом.

в строке:

 $data['template_name'] = $setting['name']; 

заменить на:

    if (!empty($setting['name'])) {
        $data['template_name'] = $setting['name'];
    } else {
        $data['template_name'] = '';
    }
0 голосов
/ 27 апреля 2020

Это не ошибки, а предупреждения. Вы можете остановить создание отчетов об ошибках для PHP в своем плане хостинга (NS1) или добавить error_reporting(0); к PHP. Эти уведомления не являются фатальными.

Для увеличения кнопок вы можете использовать CSS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...