Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Ошибка...Parse error: syntax error, unexpected end of file, expecting function (T_FUNCTION) in /home/p/parkovlp/clima24.ru/public_html/system/storage/modification/catalog/controller/common/header.php on line 301


Recommended Posts

system/storage/modification/catalog/controller/common/header.php

в студию

Надіслати
Поділитися на інших сайтах

5 минут назад, strong12 сказал:

кто подскажет как это вылечить!

покажите файл, в котором ошибка.

Надіслати
Поділитися на інших сайтах

<?php
class ControllerCommonHeader extends Controller {
    public function index() {
        // Analytics
        $this->load->model('extension/extension');

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

        $analytics = $this->model_extension_extension->getExtensions('analytics');

        foreach ($analytics as $analytic) {
            if ($this->config->get($analytic['code'] . '_status')) {
                $data['analytics'][] = $this->load->controller('extension/analytics/' . $analytic['code'], $this->config->get($analytic['code'] . '_status'));
            }
        }

        if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) {
            $server = $this->config->get('config_ssl');
        } else {
            $server = $this->config->get('config_url');
        }

        if (is_file(DIR_IMAGE . $this->config->get('config_icon'))) {
            $this->document->addLink($server . 'image/' . $this->config->get('config_icon'), 'icon');
        }

        $data['title'] = $this->document->getTitle();


                $this->load->model('localisation/language');
                $languages = $this->model_localisation_language->getLanguages();
                $data['config_email'] = $this->config->get('config_email');
                $data['wishlist'] = sprintf($this->language->get('text_wishlist'), (isset($this->session->data['wishlist']) ? count($this->session->data['wishlist']) : 0));
                $data['compare'] = sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0));
                $data['checkout_cart'] = $this->url->link('checkout/cart');
                $data['account_wishlist'] = $this->url->link('account/wishlist', '', 'SSL');
                $data['product_compare'] = $this->url->link('product/compare');
                $data['account_edit'] = $this->url->link('account/edit', '', 'SSL');
                $this->load->model('tool/image');
                $data['informations'] = array();
                $this->load->model('catalog/information');
                foreach ($this->model_catalog_information->getInformations() as $result) {
                    if ($result['bottom']) {
                        $data['informations'][] = array(
                            'title' => $result['title'],
                            'href'  => $this->url->link('information/information', 'information_id=' . $result['information_id'])
                        );
                    }
                }
                $config_langdata = $this->config->get('config_langdata');
                foreach ($languages as $language) {
                    if ($language['code'] == $this->session->data['language']) {
                        $data['address'] = $config_langdata[$language['language_id']]['address'];
                        $data['open'] = $config_langdata[$language['language_id']]['open'];
                    }
                }
                $data['callbacking_status'] = $this->config->get('callbacking_status');
                $this->load->model('catalog/manufacturer');
                $results = $this->model_catalog_manufacturer->getManufacturers();
                $data['manufacturers'] = array();
                foreach ($results as $result) {
                    $name = $result['name'];

                    if (is_numeric(utf8_substr($name, 0, 1))) {
                        $key = '0 - 9';
                    } else {
                        $key = utf8_substr(utf8_strtoupper($name), 0, 1);
                    }

                    if (!isset($data['manuf'][$key])) {
                        $data['manuf'][$key]['name'] = $key;
                    }
                    
                    if ($result['image']) {
                        $image = $this->model_tool_image->resize($result['image'], 25, 25);
                    } else {
                        $image = false;
                    }

                    $data['manuf'][$key]['manufacturer'][] = array(
                        'name' => $name,
                        'image' => $image,
                        'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $result['manufacturer_id'])
                    );
                }
                $data['controller_bannertop'] = $this->load->controller('extension/module/bannertop');
                $data['config_telephone'] = $this->config->get('config_telephone');
                $this->load->model('extension/module/settemplate');
                $modules = $this->model_extension_module_settemplate->getSetting('settemplate');
                $data['modules'] = $modules;
                $data['statii_horizontal_menu_header'] = array();
                if (isset($modules['settemplate_statii_horizontal_menu_header'])) {
                    $modules_statii_horizontal_menu_header = $modules['settemplate_statii_horizontal_menu_header'];
                }
                $sort = array();
                if (isset($modules_statii_horizontal_menu_header)) {
                    $this->load->model('catalog/information');
                    foreach ($modules_statii_horizontal_menu_header as $key => $value) {
                        if (isset($value)) {
                            $informations = $this->model_catalog_information->getInformation($value);
                            if (isset($informations['title'])) {
                                $data['statii_horizontal_menu_header'][] = array(
                                       'statii'     => $informations['title'],
                                    'sort_order'     => $informations['sort_order'],
                                    'href'         => $this->url->link('information/information', 'information_id=' . $value)
                                );
                            }
                            $sort[$key] = $informations['sort_order']; 
                        }
                    }
                    array_multisort($sort, SORT_ASC, $data['statii_horizontal_menu_header']);
                }
                if (isset($modules['settemplate_text1_header'])) {
                    $data['tell'] = $modules['settemplate_text1_header'][$this->session->data['language']];
                } else {
                    $data['tell'] = $this->language->get('rasskazat');
                }
                if (isset($modules['settemplate_script_social'])) {
                    $data['tell_scripts'] = $modules['settemplate_script_social'];
                }
                if (isset($modules['settemplate_header_contacts'])) {
                    $data['header_contacts'] = $modules['settemplate_header_contacts'][$this->session->data['language']];
                } else {
                    $data['header_contacts'] = false;
                }
                $data['callback'] = $this->language->get('callback');
                $data['callback_perem'] = $this->language->get('callback');
                $data['name_msg'] = $this->language->get('name_msg');
                $data['telefon'] = $this->language->get('telefon');
                $data['message'] = $this->language->get('message');
                $data['subject'] = $this->language->get('subject');
                $data['send'] = $this->language->get('send');
                $data['recievedMsg'] = $this->language->get('recievedMsg');
                $data['notRecievedMsg'] = $this->language->get('notRecievedMsg');
                $data['disclaimer'] = $this->language->get('disclaimer');
                $data['text_email'] = $this->language->get('text_email');
                $data['login_enter'] = $this->language->get('login_enter');
                $data['text_social_login'] = $this->language->get('text_social_login');
                $data['text_compare'] = $this->language->get('text_compare');
                $data['text_edit'] = $this->language->get('text_edit');
                $data['text_search'] = $this->language->get('text_search');
                $data['button_search'] = $this->language->get('button_search');
                $data['text_information'] = $this->language->get('text_information');
                $data['text_manufacturers'] = $this->language->get('text_manufacturers');
                $data['text_contact'] = $this->language->get('text_contact');
                $data['category_header'] = $this->load->controller('product/ajaxcategoryheader');
                $data['text_menu'] = $this->language->get('text_menu');
                if ($this->config->get('bannertop_status')) {$data['bannertop_status'] = true;} else {$data['bannertop_status'] = false;}
            
        $data['base'] = $server;
        $data['description'] = $this->document->getDescription();
        $data['keywords'] = $this->document->getKeywords();
        $data['links'] = $this->document->getLinks();
        $data['styles'] = $this->document->getStyles();
        $data['scripts'] = $this->document->getScripts();
        $data['lang'] = $this->language->get('code');
        $data['direction'] = $this->language->get('direction');

        $data['name'] = $this->config->get('config_name');

        if (is_file(DIR_IMAGE . $this->config->get('config_logo'))) {
            $data['logo'] = $server . 'image/' . $this->config->get('config_logo');
        } else {
            $data['logo'] = '';
        }

        $this->load->language('common/header');
        $data['og_url'] = (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1')) ? HTTPS_SERVER : HTTP_SERVER) . substr($this->request->server['REQUEST_URI'], 1, (strlen($this->request->server['REQUEST_URI'])-1));
        $data['og_image'] = $this->document->getOgImage();

        $data['text_home'] = $this->language->get('text_home');

        // Wishlist
        if ($this->customer->isLogged()) {
            $this->load->model('account/wishlist');

            $data['text_wishlist'] = sprintf($this->language->get('text_wishlist'), $this->model_account_wishlist->getTotalWishlist());
        } else {
            $data['text_wishlist'] = sprintf($this->language->get('text_wishlist'), (isset($this->session->data['wishlist']) ? count($this->session->data['wishlist']) : 0));
        }

        $data['text_shopping_cart'] = $this->language->get('text_shopping_cart');
        $data['text_logged'] = sprintf($this->language->get('text_logged'), $this->url->link('account/account', '', true), $this->customer->getFirstName(), $this->url->link('account/logout', '', true));

        $data['text_account'] = $this->language->get('text_account');
        $data['text_register'] = $this->language->get('text_register');
        $data['text_login'] = $this->language->get('text_login');
        $data['text_order'] = $this->language->get('text_order');
        $data['text_transaction'] = $this->language->get('text_transaction');
        $data['text_download'] = $this->language->get('text_download');
        $data['text_logout'] = $this->language->get('text_logout');
        $data['text_checkout'] = $this->language->get('text_checkout');
        $data['text_page'] = $this->language->get('text_page');
        $data['text_category'] = $this->language->get('text_category');
        $data['text_all'] = $this->language->get('text_all');

        $data['home'] = $this->url->link('common/home');
        $data['wishlist'] = $this->url->link('account/wishlist', '', true);
        $data['logged'] = $this->customer->isLogged();
        $data['account'] = $this->url->link('account/account', '', true);
        $data['register'] = $this->url->link('account/register', '', true);
        $data['login'] = $this->url->link('account/login', '', true);
        $data['order'] = $this->url->link('account/order', '', true);
        $data['transaction'] = $this->url->link('account/transaction', '', true);
        $data['download'] = $this->url->link('account/download', '', true);
        $data['logout'] = $this->url->link('account/logout', '', true);
        $data['shopping_cart'] = $this->url->link('checkout/cart');
        $data['checkout'] = $this->url->link('checkout/checkout', '', true);
        $data['contact'] = $this->url->link('information/contact');
        $data['telephone'] = $this->config->get('config_telephone');

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

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

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

        // jetcache for 2.x , 3.x
        $jetcache_categories = array();
        $jetcache_settings = $this->config->get('asc_jetcache_settings');
        if (isset($jetcache_settings['jetcache_widget_status']) && $jetcache_settings['jetcache_widget_status'] && isset($jetcache_settings['header_categories_status']) && $jetcache_settings['header_categories_status']) {
            $jetcache_categories = $this->registry->get('controller_jetcache_jetcache')->hook_header_categories($data['categories']);
        }
        if (!empty($jetcache_categories) && is_array($jetcache_categories)) {
            $data['categories'] = $jetcache_categories;
        } else {
    

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


        // jetcache for 2.x , 3.x
        if (isset($jetcache_settings['jetcache_widget_status']) && $jetcache_settings['jetcache_widget_status'] && isset($jetcache_settings['header_categories_status']) && $jetcache_settings['header_categories_status']) {
            $this->registry->get('controller_jetcache_jetcache')->hook_header_categories($data['categories']);
        }
    }
    

            */
            
        $data['language'] = $this->load->controller('common/language');
        $data['currency'] = $this->load->controller('common/currency');
        $data['search'] = $this->load->controller('common/search');
        $data['cart'] = $this->load->controller('common/cart');

        // For page specific css
        if (isset($this->request->get['route'])) {
            if (isset($this->request->get['product_id'])) {
                $class = '-' . $this->request->get['product_id'];
            } elseif (isset($this->request->get['path'])) {
                $class = '-' . $this->request->get['path'];
            } elseif (isset($this->request->get['manufacturer_id'])) {
                $class = '-' . $this->request->get['manufacturer_id'];
            } elseif (isset($this->request->get['information_id'])) {
                $class = '-' . $this->request->get['information_id'];
            } else {
                $class = '';
            }

            $data['class'] = str_replace('/', '-', $this->request->get['route']) . $class;
        } else {
            $data['class'] = 'common-home';
        }

        return $this->load->view('common/header', $data);
    }
}
 

Надіслати
Поділитися на інших сайтах


        if (!empty($jetcache_categories) && is_array($jetcache_categories)) {
            $data['categories'] = $jetcache_categories;
        } else {
    

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


        // jetcache for 2.x , 3.x
        if (isset($jetcache_settings['jetcache_widget_status']) && $jetcache_settings['jetcache_widget_status'] && isset($jetcache_settings['header_categories_status']) && $jetcache_settings['header_categories_status']) {
            $this->registry->get('controller_jetcache_jetcache')->hook_header_categories($data['categories']);
        } */
    }

была закоментирована последняя скобка

Надіслати
Поділитися на інших сайтах

3 минуты назад, strong12 сказал:

Доступ к файлам есть только у меня.......

кто-то же закоментировал часть кода. 

Надіслати
Поділитися на інших сайтах

модификаторы, обновляли перед появлением ошибки?

Надіслати
Поділитися на інших сайтах

Да в самом кешеровшике сайт рабочий всё было нормально! Просто сегодня от хостера пришла смс что места мало на диске осталось ну и как обычно через админку удалил кешь и обновил модификаторы!

Надіслати
Поділитися на інших сайтах


А нет! если просто удаляешь кеш то нормально всё! А вот если обновить модификаторы то та часть кода что выше комментируется комментируется!

Надіслати
Поділитися на інших сайтах


33 минуты назад, fanatic сказал:

        if (!empty($jetcache_categories) && is_array($jetcache_categories)) {
            $data['categories'] = $jetcache_categories;
        } else {
    

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


        // jetcache for 2.x , 3.x
        if (isset($jetcache_settings['jetcache_widget_status']) && $jetcache_settings['jetcache_widget_status'] && isset($jetcache_settings['header_categories_status']) && $jetcache_settings['header_categories_status']) {
            $this->registry->get('controller_jetcache_jetcache')->hook_header_categories($data['categories']);
        } */
    }

была закоментирована последняя скобка

Спасибо!!!!!

Надіслати
Поділитися на інших сайтах


40 минут назад, strong12 сказал:

А нет! если просто удаляешь кеш то нормально всё! А вот если обновить модификаторы то та часть кода что выше комментируется комментируется!

В модуле есть метод отвечающий за кеш каталога, Вы вносили правки в header.php и теперь модификатор из-за этого не верно привязывается

Это скорее всего нужно уточнить у @markimax

  • +1 1
Надіслати
Поділитися на інших сайтах

9 часов назад, ArtemPitov сказал:

В модуле есть метод отвечающий за кеш каталога, Вы вносили правки в header.php и теперь модификатор из-за этого не верно привязывается

Это скорее всего нужно уточнить у @markimax

Там не печатные символы в header.php откудто у вас
Если их убрать все отлично - без ошибок
 

Надіслати
Поділитися на інших сайтах

if (isset($jetcache_settings['jetcache_widget_status']) && $jetcache_settings['jetcache_widget_status'] && isset($jetcache_settings['header_categories_status']) && $jetcache_settings['header_categories_status']) {

=>

if (!empty($jetcache_settings['jetcache_widget_status']) && !empty($jetcache_settings['header_categories_status'])) {

 

Надіслати
Поділитися на інших сайтах


17 минут назад, n3bo сказал:

=>

 

Все работает и никаких проблем в принципе и не было :)))
Все банально просто
ТС работал,  редактировал код и не отключил кешировщик - и промежуточное редактирование, которое было ошибочно, привело к "ошибке" на фронте (сами знаете бывает, то ; забыли то } ), которая попала в кеш и потом отдавалась из него.
Когда работаете, не забывайте - отключайте кешировщики.

Надіслати
Поділитися на інших сайтах

1 минуту назад, markimax сказал:

Все работает и никаких проблем в принципе и не было :)))
Все банально просто

 

Да я не к ТС, а тонко намекаю о рефакторинге) 

Надіслати
Поділитися на інших сайтах


9 минут назад, n3bo сказал:

 

Да я не к ТС, а тонко намекаю о рефакторинге) 

По байт кодам тоже самое (empty - делает сам isset). Дело привычки и написания кода. это не рефакторинг ;)

http://php.net/manual/ru/function.empty.php

Цитата

Если переменная не существует, предупреждение не генерируется. Это значит, что empty() фактически является точным эквивалентом конструкции !isset($var) || $var == false

 

Надіслати
Поділитися на інших сайтах

1 минуту назад, markimax сказал:

По байт кодам тоже самое (empty - делает сам isset). Дело привычки и написания. это не рефакторинг ;)

Но читать код :-?

Змінено користувачем n3bo
Надіслати
Поділитися на інших сайтах


1 минуту назад, n3bo сказал:

Но читать код :-?

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

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.