OlegVladislavovich Опубліковано: 3 лютого 2015 Share Опубліковано: 3 лютого 2015 Добрый день дорогие участники форума!)В процессе работы у меня назрел такой вопрос.Я создал через phpmyadmin новые переменные в ocproduct. Называются они "capacity" и "polarity". В переводе Ёмкость и Полярность. Создавал затем, чтобы вывести их в карточку товара, и вывести нужно именно таким образом, а не через атрибуты (через атрибуты мне не подходит).В карточку товара я успешно вывел эти величины и сделал это с помощью такого кода: <div class="description"> <span><?php echo $text_capacity; ?></span> <?php echo $capacity; ?><br /> <span><?php echo $text_polarity; ?></span> <?php echo $polarity; ?><br /> </div> Плюс к этому прописал следующие строки в контроллере $this->data['text_capacity'] = $this->language->get('text_capacity'); $this->data['text_polarity'] = $this->language->get('text_polarity'); $this->data['capacity'] = $product_info['capacity']; $this->data['polarity'] = $product_info['polarity']; В итоге в карточку товара я вывел то, что хотел вывести. Но это ещё не всё. Те же величины мне необходимо вывести в категории, и я попытался сделать это по аналогии, но получил ошибку text_capacity Notice: Undefined variable: capacity in /var/www/user44692/data/www/mrakb.ru/catalog/view/theme/lethe/template/product/category.tpl on line 55 text_polarity Notice: Undefined variable: polarity in /var/www/user44692/data/www/mrakb.ru/catalog/view/theme/lethe/template/product/category.tpl on line 56 Вот что прописано в документе category.tpl <div class="description"> <span><?php echo $text_capacity; ?></span> <?php echo $capacity; ?><br /> <span><?php echo $text_polarity; ?></span> <?php echo $polarity; ?><br /> </div> А вот category.php $this->data['text_capacity'] = $this->language->get('text_capacity'); $this->data['text_polarity'] = $this->language->get('text_polarity'); Вопрос собственно в том, как избежать этой ошибки и успешно выполнить цель?) Надіслати Поділитися на інших сайтах More sharing options...
pashast Опубліковано: 3 лютого 2015 Share Опубліковано: 3 лютого 2015 В контролер категории нужно добавлять значения в массив products $this->data['products'][] = array( 'product_id' => $result['product_id'], 'capacity' => $result['capacity'], 'polarity' => $result['polarity'], 'thumb' => $image, 'name' => $result['name'], 'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 100) . '..', 'price' => $price, 'special' => $special, 'tax' => $tax, 'rating' => $result['rating'], 'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']), 'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url) ); Надіслати Поділитися на інших сайтах More sharing options... OlegVladislavovich Опубліковано: 3 лютого 2015 Автор Share Опубліковано: 3 лютого 2015 Добавил в catalog/controller/product/category.php то, что вы написали, и в итоге такая ошибка вылезла :cry: Вроде та же самая, которая и была до этого text_capacity Notice: Undefined variable: capacity in /var/www/user44692/data/www/mrakb.ru/catalog/view/theme/lethe/template/product/category.tpl on line 55 text_polarity Notice: Undefined variable: polarity in /var/www/user44692/data/www/mrakb.ru/catalog/view/theme/lethe/template/product/category.tpl on line 56 Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 3 лютого 2015 Share Опубліковано: 3 лютого 2015 Вариант 1 На ocStore, возможна разница в том, что в карточке товара: $product_info = $this->model_catalog_product->getProduct($product_id); А в категории: $results = $this->model_catalog_product->getProducts($data); В зависимости от версии они могут возвращать разный результат, т.е. одна из них возвращает результат без capacity и polarity. Смотрите файл model/catalog/product.php. Вариант 2 Невнимательность + Ctrl+C/Ctrl+V. <div class="description"> <span><?php echo $text_capacity; ?></span> <?php echo $product['capacity']; ?><br /> <span><?php echo $text_polarity; ?></span> <?php echo $product['polarity']; ?><br /> </div> 1 Надіслати Поділитися на інших сайтах More sharing options... OlegVladislavovich Опубліковано: 4 лютого 2015 Автор Share Опубліковано: 4 лютого 2015 Вариант 1 На ocStore, возможна разница в том, что в карточке товара: $product_info = $this->model_catalog_product->getProduct($product_id); А в категории: $results = $this->model_catalog_product->getProducts($data); В зависимости от версии они могут возвращать разный результат, т.е. одна из них возвращает результат без capacity и polarity. Смотрите файл model/catalog/product.php. Вариант 2 Невнимательность + Ctrl+C/Ctrl+V. <div class="description"> <span><?php echo $text_capacity; ?></span> <?php echo $product['capacity']; ?><br /> <span><?php echo $text_polarity; ?></span> <?php echo $product['polarity']; ?><br /> </div> Упорно не могу понять в чём дело. Прописал пару новых строк в контроллер категорий, но я скину лучше весь контроллер категорий. Здесь следует обратить внимание на такие величины как "capacity" "polarity". Я просто стреляюсь уже, честно говоря. И что примечательно, раньше у меня их получалось вывести. Затем мне пришлось вывести на их место атрибуты, а сейчас появилась необходимость сделать всё по-прежнему и вывести на это место capacity polarity. Посмотрите пожалуйста, дело именно в этом документе, я предполагаю... С tpl всё должно быть в полном порядке... <?php class ControllerProductCategory extends Controller { public function index() { $this->language->load('product/category'); $this->load->model('catalog/category'); $this->load->model('catalog/product'); $this->load->model('tool/image'); if (isset($this->request->get['filter'])) { $filter = $this->request->get['filter']; } else { $filter = ''; } if (isset($this->request->get['sort'])) { $sort = $this->request->get['sort']; } else { $sort = 'p.sort_order'; } if (isset($this->request->get['order'])) { $order = $this->request->get['order']; } else { $order = 'ASC'; } if (isset($this->request->get['page'])) { $page = $this->request->get['page']; } else { $page = 1; } if (isset($this->request->get['limit'])) { $limit = $this->request->get['limit']; } else { $limit = $this->config->get('config_catalog_limit'); } $this->data['breadcrumbs'] = array(); $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/home'), 'separator' => false ); if (isset($this->request->get['path'])) { $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $path = ''; $parts = explode('_', (string)$this->request->get['path']); $category_id = (int)array_pop($parts); foreach ($parts as $path_id) { if (!$path) { $path = (int)$path_id; } else { $path .= '_' . (int)$path_id; } $category_info = $this->model_catalog_category->getCategory($path_id); if ($category_info) { $this->data['breadcrumbs'][] = array( 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'path=' . $path . $url), 'separator' => $this->language->get('text_separator') ); } } } else { $category_id = 0; } $category_info = $this->model_catalog_category->getCategory($category_id); if ($category_info) { if ($category_info['seo_title']) { $this->document->setTitle($category_info['seo_title']); } else { $this->document->setTitle($category_info['name']); } $this->document->setDescription($category_info['meta_description']); $this->document->setKeywords($category_info['meta_keyword']); $this->document->addScript('catalog/view/javascript/jquery/jquery.total-storage.min.js'); if ($category_info['seo_h1']) { $this->data['heading_title'] = $category_info['seo_h1']; } else { $this->data['heading_title'] = $category_info['name']; } $this->data['text_refine'] = $this->language->get('text_refine'); $this->data['text_empty'] = $this->language->get('text_empty'); $this->data['text_quantity'] = $this->language->get('text_quantity'); $this->data['text_manufacturer'] = $this->language->get('text_manufacturer'); $this->data['text_capacity'] = $this->language->get('text_capacity'); $this->data['text_polarity'] = $this->language->get('text_polarity'); $this->data['text_stamps'] = $this->language->get('text_stamps'); $this->data['text_capacity'] = $this->language->get('text_capacity'); $this->data['text_polarity'] = $this->language->get('text_polarity'); $this->data['text_stamps'] = $this->language->get('text_stamps'); $this->data['capacity'] = $product_info['capacity']; $this->data['polarity'] = $product_info['polarity']; $this->data['stamps'] = $product_info['stamps']; $this->data['text_model'] = $this->language->get('text_model'); $this->data['text_price'] = $this->language->get('text_price'); $this->data['text_tax'] = $this->language->get('text_tax'); $this->data['text_points'] = $this->language->get('text_points'); $this->data['text_compare'] = sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0)); $this->data['text_display'] = $this->language->get('text_display'); $this->data['text_list'] = $this->language->get('text_list'); $this->data['text_grid'] = $this->language->get('text_grid'); $this->data['text_sort'] = $this->language->get('text_sort'); $this->data['text_limit'] = $this->language->get('text_limit'); $this->data['button_cart'] = $this->language->get('button_cart'); $this->data['button_wishlist'] = $this->language->get('button_wishlist'); $this->data['button_compare'] = $this->language->get('button_compare'); $this->data['button_continue'] = $this->language->get('button_continue'); // Set the last category breadcrumb $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['breadcrumbs'][] = array( 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path']), 'separator' => $this->language->get('text_separator') ); if ($category_info['image']) { $this->data['thumb'] = $this->model_tool_image->resize($category_info['image'], $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height')); $this->document->setOgImage($this->data['thumb']); } else { $this->data['thumb'] = ''; } $this->data['description'] = html_entity_decode($category_info['description'], ENT_QUOTES, 'UTF-8'); $this->data['compare'] = $this->url->link('product/compare'); $url = ''; if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['categories'] = array(); $results = $this->model_catalog_category->getCategories($category_id); foreach ($results as $result) { $data = array( 'filter_category_id' => $result['category_id'], 'filter_sub_category' => true ); $product_total = $this->model_catalog_product->getTotalProducts($data); $this->data['categories'][] = array( 'name' => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''), 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url), 'thumb' => $this->model_tool_image->resize(($result['image']=='' ? 'no_image.jpg' : $result['image']), $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height')) ); } $this->data['products'] = array(); $data = array( 'filter_category_id' => $category_id, 'filter_filter' => $filter, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $limit, 'limit' => $limit ); $results = $this->model_catalog_product->getProducts($data); //Вызов метода getFoundProducts должен проводится сразу же после getProducts //только тогда он выдает правильное значения количества товаров $product_total = $this->model_catalog_product->getFoundProducts(); foreach ($results as $result) { if ($result['image']) { $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); } else { $image = $this->model_tool_image->resize('no_image.jpg', $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); } if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $price = false; } if ((float)$result['special']) { $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $special = false; } if ($this->config->get('config_tax')) { $tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price']); } else { $tax = false; } if ($this->config->get('config_review_status')) { $rating = (int)$result['rating']; } else { $rating = false; } $this->data['products'][] = array( 'product_id' => $result['product_id'], 'capacity' => $result['capacity'], 'polarity' => $result['polarity'], 'thumb' => $image, 'name' => $result['name'], 'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..', 'attribute_groups' => $this->model_catalog_product->getProductAttributes($result['product_id']), 'price' => $price, 'special' => $special, 'tax' => $tax, 'rating' => $result['rating'], 'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']), 'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url) ); } $url = ''; if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['sorts'] = array(); $this->data['sorts'][] = array( 'text' => $this->language->get('text_default'), 'value' => 'p.sort_order-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.sort_order&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_asc'), 'value' => 'pd.name-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=pd.name&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_desc'), 'value' => 'pd.name-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=pd.name&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_asc'), 'value' => 'p.price-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.price&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_desc'), 'value' => 'p.price-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.price&order=DESC' . $url) ); $url = ''; if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } $this->data['limits'] = array(); $limits = array_unique(array($this->config->get('config_catalog_limit'), 25, 50, 75, 100)); sort($limits); foreach($limits as $value){ $this->data['limits'][] = array( 'text' => $value, 'value' => $value, 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&limit=' . $value) ); } $url = ''; if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $pagination = new Pagination(); $pagination->total = $product_total; $pagination->page = $page; $pagination->limit = $limit; $pagination->text = $this->language->get('text_pagination'); $pagination->url = $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&page={page}'); $this->data['pagination'] = $pagination->render(); $this->data['sort'] = $sort; $this->data['order'] = $order; $this->data['limit'] = $limit; $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/category.tpl')) { $this->template = $this->config->get('config_template') . '/template/product/category.tpl'; } else { $this->template = 'default/template/product/category.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } else { $url = ''; if (isset($this->request->get['path'])) { $url .= '&path=' . $this->request->get['path']; } if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_error'), 'href' => $this->url->link('product/category', $url), 'separator' => $this->language->get('text_separator') ); $this->document->setTitle($this->language->get('text_error')); $this->data['heading_title'] = $this->language->get('text_error'); $this->data['text_error'] = $this->language->get('text_error'); $this->data['button_continue'] = $this->language->get('button_continue'); $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/error/not_found.tpl')) { $this->template = $this->config->get('config_template') . '/template/error/not_found.tpl'; } else { $this->template = 'default/template/error/not_found.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } } } ?> Ошибки пропали, но нормального результата я по-прежнему не достиг. Вместо необходимых данных отображается чушь какая-то... Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 4 лютого 2015 Share Опубліковано: 4 лютого 2015 Вы знаете что такое var_dump? Пользуйтесь им. Надіслати Поділитися на інших сайтах More sharing options... OlegVladislavovich Опубліковано: 5 лютого 2015 Автор Share Опубліковано: 5 лютого 2015 Честно говоря, не знаю, первый раз такое слышу. Не могли бы дать отсылку на материал по var_dump чтобы я понял как юзать. Буду очень благодарен) Вы знаете что такое var_dump? Пользуйтесь им. Надіслати Поділитися на інших сайтах More sharing options... shoputils Опубліковано: 5 лютого 2015 Share Опубліковано: 5 лютого 2015 Google, не? http://www.php.su/var_dump http://php.net/manual/ru/function.var-dump.php http://php.ru/manual/function.var-dump.html Надіслати Поділитися на інших сайтах More sharing options... OlegVladislavovich Опубліковано: 5 лютого 2015 Автор Share Опубліковано: 5 лютого 2015 Google, не? http://www.php.su/var_dump http://php.net/manual/ru/function.var-dump.php http://php.ru/manual/function.var-dump.html Я это сам нашёл и посмотрел до того как вы это скинули. Тем не менее премного благодарен вам за помощь в поиске информации. К сожалению, после просмотра данных источников, у меня не возникло полного понимания функции var_dump. Просто в кодах я очень несилён. Вот конкретный вопрос. В какой файл нужно вставлять var_dump? В php? И в какую часть документа? Это будет выглядеть вот так? тут "a" "b" "c" это вроде, как я понимаю, строки, но я даже не знаю сколько у меня строк, мне не понятно, что считать строкой. Сначала у меня идёт text_capacity, а затем сама величина capacity <?php $capacity = array(1, 2, array("a", "b", "c")); var_dump($capacity); ?> Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 5 лютого 2015 Share Опубліковано: 5 лютого 2015 Я это сам нашёл и посмотрел до того как вы это скинули. Тем не менее премного благодарен вам за помощь в поиске информации. К сожалению, после просмотра данных источников, у меня не возникло полного понимания функции var_dump. Просто в кодах я очень несилён. Вот конкретный вопрос. В какой файл нужно вставлять var_dump? В php? И в какую часть документа? Это будет выглядеть вот так? тут "a" "b" "c" это вроде, как я понимаю, строки, но я даже не знаю сколько у меня строк, мне не понятно, что считать строкой. Сначала у меня идёт text_capacity, а затем сама величина capacity <?php $capacity = array(1, 2, array("a", "b", "c")); var_dump($capacity); ?> С помощью var_dump можно проверить наличие и содержимое переменной. Если ее нет, то Вы где-то ошиблись. Мы Вам дали ВСЕ, что нужно. Вот здесь посмотрите, там та же самая задача, а на 4-ой странице решение для страниц категорий. Надіслати Поділитися на інших сайтах More sharing options... OlegVladislavovich Опубліковано: 6 лютого 2015 Автор Share Опубліковано: 6 лютого 2015 С помощью var_dump можно проверить наличие и содержимое переменной. Если ее нет, то Вы где-то ошиблись. Мы Вам дали ВСЕ, что нужно. Вот здесь посмотрите, там та же самая задача, а на 4-ой странице решение для страниц категорий. Да, ссылка действительно помогла, благодарю Вас! Большое спасибо человеческое Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам [Решено] Проблемы с отображением новых полей товара в категориях Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
OlegVladislavovich Опубліковано: 3 лютого 2015 Автор Share Опубліковано: 3 лютого 2015 Добавил в catalog/controller/product/category.php то, что вы написали, и в итоге такая ошибка вылезла :cry: Вроде та же самая, которая и была до этого text_capacity Notice: Undefined variable: capacity in /var/www/user44692/data/www/mrakb.ru/catalog/view/theme/lethe/template/product/category.tpl on line 55 text_polarity Notice: Undefined variable: polarity in /var/www/user44692/data/www/mrakb.ru/catalog/view/theme/lethe/template/product/category.tpl on line 56 Надіслати Поділитися на інших сайтах More sharing options...
halfhope Опубліковано: 3 лютого 2015 Share Опубліковано: 3 лютого 2015 Вариант 1 На ocStore, возможна разница в том, что в карточке товара: $product_info = $this->model_catalog_product->getProduct($product_id); А в категории: $results = $this->model_catalog_product->getProducts($data); В зависимости от версии они могут возвращать разный результат, т.е. одна из них возвращает результат без capacity и polarity. Смотрите файл model/catalog/product.php. Вариант 2 Невнимательность + Ctrl+C/Ctrl+V. <div class="description"> <span><?php echo $text_capacity; ?></span> <?php echo $product['capacity']; ?><br /> <span><?php echo $text_polarity; ?></span> <?php echo $product['polarity']; ?><br /> </div> 1 Надіслати Поділитися на інших сайтах More sharing options... OlegVladislavovich Опубліковано: 4 лютого 2015 Автор Share Опубліковано: 4 лютого 2015 Вариант 1 На ocStore, возможна разница в том, что в карточке товара: $product_info = $this->model_catalog_product->getProduct($product_id); А в категории: $results = $this->model_catalog_product->getProducts($data); В зависимости от версии они могут возвращать разный результат, т.е. одна из них возвращает результат без capacity и polarity. Смотрите файл model/catalog/product.php. Вариант 2 Невнимательность + Ctrl+C/Ctrl+V. <div class="description"> <span><?php echo $text_capacity; ?></span> <?php echo $product['capacity']; ?><br /> <span><?php echo $text_polarity; ?></span> <?php echo $product['polarity']; ?><br /> </div> Упорно не могу понять в чём дело. Прописал пару новых строк в контроллер категорий, но я скину лучше весь контроллер категорий. Здесь следует обратить внимание на такие величины как "capacity" "polarity". Я просто стреляюсь уже, честно говоря. И что примечательно, раньше у меня их получалось вывести. Затем мне пришлось вывести на их место атрибуты, а сейчас появилась необходимость сделать всё по-прежнему и вывести на это место capacity polarity. Посмотрите пожалуйста, дело именно в этом документе, я предполагаю... С tpl всё должно быть в полном порядке... <?php class ControllerProductCategory extends Controller { public function index() { $this->language->load('product/category'); $this->load->model('catalog/category'); $this->load->model('catalog/product'); $this->load->model('tool/image'); if (isset($this->request->get['filter'])) { $filter = $this->request->get['filter']; } else { $filter = ''; } if (isset($this->request->get['sort'])) { $sort = $this->request->get['sort']; } else { $sort = 'p.sort_order'; } if (isset($this->request->get['order'])) { $order = $this->request->get['order']; } else { $order = 'ASC'; } if (isset($this->request->get['page'])) { $page = $this->request->get['page']; } else { $page = 1; } if (isset($this->request->get['limit'])) { $limit = $this->request->get['limit']; } else { $limit = $this->config->get('config_catalog_limit'); } $this->data['breadcrumbs'] = array(); $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/home'), 'separator' => false ); if (isset($this->request->get['path'])) { $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $path = ''; $parts = explode('_', (string)$this->request->get['path']); $category_id = (int)array_pop($parts); foreach ($parts as $path_id) { if (!$path) { $path = (int)$path_id; } else { $path .= '_' . (int)$path_id; } $category_info = $this->model_catalog_category->getCategory($path_id); if ($category_info) { $this->data['breadcrumbs'][] = array( 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'path=' . $path . $url), 'separator' => $this->language->get('text_separator') ); } } } else { $category_id = 0; } $category_info = $this->model_catalog_category->getCategory($category_id); if ($category_info) { if ($category_info['seo_title']) { $this->document->setTitle($category_info['seo_title']); } else { $this->document->setTitle($category_info['name']); } $this->document->setDescription($category_info['meta_description']); $this->document->setKeywords($category_info['meta_keyword']); $this->document->addScript('catalog/view/javascript/jquery/jquery.total-storage.min.js'); if ($category_info['seo_h1']) { $this->data['heading_title'] = $category_info['seo_h1']; } else { $this->data['heading_title'] = $category_info['name']; } $this->data['text_refine'] = $this->language->get('text_refine'); $this->data['text_empty'] = $this->language->get('text_empty'); $this->data['text_quantity'] = $this->language->get('text_quantity'); $this->data['text_manufacturer'] = $this->language->get('text_manufacturer'); $this->data['text_capacity'] = $this->language->get('text_capacity'); $this->data['text_polarity'] = $this->language->get('text_polarity'); $this->data['text_stamps'] = $this->language->get('text_stamps'); $this->data['text_capacity'] = $this->language->get('text_capacity'); $this->data['text_polarity'] = $this->language->get('text_polarity'); $this->data['text_stamps'] = $this->language->get('text_stamps'); $this->data['capacity'] = $product_info['capacity']; $this->data['polarity'] = $product_info['polarity']; $this->data['stamps'] = $product_info['stamps']; $this->data['text_model'] = $this->language->get('text_model'); $this->data['text_price'] = $this->language->get('text_price'); $this->data['text_tax'] = $this->language->get('text_tax'); $this->data['text_points'] = $this->language->get('text_points'); $this->data['text_compare'] = sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0)); $this->data['text_display'] = $this->language->get('text_display'); $this->data['text_list'] = $this->language->get('text_list'); $this->data['text_grid'] = $this->language->get('text_grid'); $this->data['text_sort'] = $this->language->get('text_sort'); $this->data['text_limit'] = $this->language->get('text_limit'); $this->data['button_cart'] = $this->language->get('button_cart'); $this->data['button_wishlist'] = $this->language->get('button_wishlist'); $this->data['button_compare'] = $this->language->get('button_compare'); $this->data['button_continue'] = $this->language->get('button_continue'); // Set the last category breadcrumb $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['breadcrumbs'][] = array( 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path']), 'separator' => $this->language->get('text_separator') ); if ($category_info['image']) { $this->data['thumb'] = $this->model_tool_image->resize($category_info['image'], $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height')); $this->document->setOgImage($this->data['thumb']); } else { $this->data['thumb'] = ''; } $this->data['description'] = html_entity_decode($category_info['description'], ENT_QUOTES, 'UTF-8'); $this->data['compare'] = $this->url->link('product/compare'); $url = ''; if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['categories'] = array(); $results = $this->model_catalog_category->getCategories($category_id); foreach ($results as $result) { $data = array( 'filter_category_id' => $result['category_id'], 'filter_sub_category' => true ); $product_total = $this->model_catalog_product->getTotalProducts($data); $this->data['categories'][] = array( 'name' => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''), 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url), 'thumb' => $this->model_tool_image->resize(($result['image']=='' ? 'no_image.jpg' : $result['image']), $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height')) ); } $this->data['products'] = array(); $data = array( 'filter_category_id' => $category_id, 'filter_filter' => $filter, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $limit, 'limit' => $limit ); $results = $this->model_catalog_product->getProducts($data); //Вызов метода getFoundProducts должен проводится сразу же после getProducts //только тогда он выдает правильное значения количества товаров $product_total = $this->model_catalog_product->getFoundProducts(); foreach ($results as $result) { if ($result['image']) { $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); } else { $image = $this->model_tool_image->resize('no_image.jpg', $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); } if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $price = false; } if ((float)$result['special']) { $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $special = false; } if ($this->config->get('config_tax')) { $tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price']); } else { $tax = false; } if ($this->config->get('config_review_status')) { $rating = (int)$result['rating']; } else { $rating = false; } $this->data['products'][] = array( 'product_id' => $result['product_id'], 'capacity' => $result['capacity'], 'polarity' => $result['polarity'], 'thumb' => $image, 'name' => $result['name'], 'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..', 'attribute_groups' => $this->model_catalog_product->getProductAttributes($result['product_id']), 'price' => $price, 'special' => $special, 'tax' => $tax, 'rating' => $result['rating'], 'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']), 'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url) ); } $url = ''; if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['sorts'] = array(); $this->data['sorts'][] = array( 'text' => $this->language->get('text_default'), 'value' => 'p.sort_order-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.sort_order&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_asc'), 'value' => 'pd.name-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=pd.name&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_desc'), 'value' => 'pd.name-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=pd.name&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_asc'), 'value' => 'p.price-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.price&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_desc'), 'value' => 'p.price-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.price&order=DESC' . $url) ); $url = ''; if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } $this->data['limits'] = array(); $limits = array_unique(array($this->config->get('config_catalog_limit'), 25, 50, 75, 100)); sort($limits); foreach($limits as $value){ $this->data['limits'][] = array( 'text' => $value, 'value' => $value, 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&limit=' . $value) ); } $url = ''; if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $pagination = new Pagination(); $pagination->total = $product_total; $pagination->page = $page; $pagination->limit = $limit; $pagination->text = $this->language->get('text_pagination'); $pagination->url = $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&page={page}'); $this->data['pagination'] = $pagination->render(); $this->data['sort'] = $sort; $this->data['order'] = $order; $this->data['limit'] = $limit; $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/category.tpl')) { $this->template = $this->config->get('config_template') . '/template/product/category.tpl'; } else { $this->template = 'default/template/product/category.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } else { $url = ''; if (isset($this->request->get['path'])) { $url .= '&path=' . $this->request->get['path']; } if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_error'), 'href' => $this->url->link('product/category', $url), 'separator' => $this->language->get('text_separator') ); $this->document->setTitle($this->language->get('text_error')); $this->data['heading_title'] = $this->language->get('text_error'); $this->data['text_error'] = $this->language->get('text_error'); $this->data['button_continue'] = $this->language->get('button_continue'); $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/error/not_found.tpl')) { $this->template = $this->config->get('config_template') . '/template/error/not_found.tpl'; } else { $this->template = 'default/template/error/not_found.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } } } ?> Ошибки пропали, но нормального результата я по-прежнему не достиг. Вместо необходимых данных отображается чушь какая-то... Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 4 лютого 2015 Share Опубліковано: 4 лютого 2015 Вы знаете что такое var_dump? Пользуйтесь им. Надіслати Поділитися на інших сайтах More sharing options... OlegVladislavovich Опубліковано: 5 лютого 2015 Автор Share Опубліковано: 5 лютого 2015 Честно говоря, не знаю, первый раз такое слышу. Не могли бы дать отсылку на материал по var_dump чтобы я понял как юзать. Буду очень благодарен) Вы знаете что такое var_dump? Пользуйтесь им. Надіслати Поділитися на інших сайтах More sharing options... shoputils Опубліковано: 5 лютого 2015 Share Опубліковано: 5 лютого 2015 Google, не? http://www.php.su/var_dump http://php.net/manual/ru/function.var-dump.php http://php.ru/manual/function.var-dump.html Надіслати Поділитися на інших сайтах More sharing options... OlegVladislavovich Опубліковано: 5 лютого 2015 Автор Share Опубліковано: 5 лютого 2015 Google, не? http://www.php.su/var_dump http://php.net/manual/ru/function.var-dump.php http://php.ru/manual/function.var-dump.html Я это сам нашёл и посмотрел до того как вы это скинули. Тем не менее премного благодарен вам за помощь в поиске информации. К сожалению, после просмотра данных источников, у меня не возникло полного понимания функции var_dump. Просто в кодах я очень несилён. Вот конкретный вопрос. В какой файл нужно вставлять var_dump? В php? И в какую часть документа? Это будет выглядеть вот так? тут "a" "b" "c" это вроде, как я понимаю, строки, но я даже не знаю сколько у меня строк, мне не понятно, что считать строкой. Сначала у меня идёт text_capacity, а затем сама величина capacity <?php $capacity = array(1, 2, array("a", "b", "c")); var_dump($capacity); ?> Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 5 лютого 2015 Share Опубліковано: 5 лютого 2015 Я это сам нашёл и посмотрел до того как вы это скинули. Тем не менее премного благодарен вам за помощь в поиске информации. К сожалению, после просмотра данных источников, у меня не возникло полного понимания функции var_dump. Просто в кодах я очень несилён. Вот конкретный вопрос. В какой файл нужно вставлять var_dump? В php? И в какую часть документа? Это будет выглядеть вот так? тут "a" "b" "c" это вроде, как я понимаю, строки, но я даже не знаю сколько у меня строк, мне не понятно, что считать строкой. Сначала у меня идёт text_capacity, а затем сама величина capacity <?php $capacity = array(1, 2, array("a", "b", "c")); var_dump($capacity); ?> С помощью var_dump можно проверить наличие и содержимое переменной. Если ее нет, то Вы где-то ошиблись. Мы Вам дали ВСЕ, что нужно. Вот здесь посмотрите, там та же самая задача, а на 4-ой странице решение для страниц категорий. Надіслати Поділитися на інших сайтах More sharing options... OlegVladislavovich Опубліковано: 6 лютого 2015 Автор Share Опубліковано: 6 лютого 2015 С помощью var_dump можно проверить наличие и содержимое переменной. Если ее нет, то Вы где-то ошиблись. Мы Вам дали ВСЕ, что нужно. Вот здесь посмотрите, там та же самая задача, а на 4-ой странице решение для страниц категорий. Да, ссылка действительно помогла, благодарю Вас! Большое спасибо человеческое Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам [Решено] Проблемы с отображением новых полей товара в категориях Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich
OlegVladislavovich Опубліковано: 4 лютого 2015 Автор Share Опубліковано: 4 лютого 2015 Вариант 1 На ocStore, возможна разница в том, что в карточке товара: $product_info = $this->model_catalog_product->getProduct($product_id); А в категории: $results = $this->model_catalog_product->getProducts($data); В зависимости от версии они могут возвращать разный результат, т.е. одна из них возвращает результат без capacity и polarity. Смотрите файл model/catalog/product.php. Вариант 2 Невнимательность + Ctrl+C/Ctrl+V. <div class="description"> <span><?php echo $text_capacity; ?></span> <?php echo $product['capacity']; ?><br /> <span><?php echo $text_polarity; ?></span> <?php echo $product['polarity']; ?><br /> </div> Упорно не могу понять в чём дело. Прописал пару новых строк в контроллер категорий, но я скину лучше весь контроллер категорий. Здесь следует обратить внимание на такие величины как "capacity" "polarity". Я просто стреляюсь уже, честно говоря. И что примечательно, раньше у меня их получалось вывести. Затем мне пришлось вывести на их место атрибуты, а сейчас появилась необходимость сделать всё по-прежнему и вывести на это место capacity polarity. Посмотрите пожалуйста, дело именно в этом документе, я предполагаю... С tpl всё должно быть в полном порядке... <?php class ControllerProductCategory extends Controller { public function index() { $this->language->load('product/category'); $this->load->model('catalog/category'); $this->load->model('catalog/product'); $this->load->model('tool/image'); if (isset($this->request->get['filter'])) { $filter = $this->request->get['filter']; } else { $filter = ''; } if (isset($this->request->get['sort'])) { $sort = $this->request->get['sort']; } else { $sort = 'p.sort_order'; } if (isset($this->request->get['order'])) { $order = $this->request->get['order']; } else { $order = 'ASC'; } if (isset($this->request->get['page'])) { $page = $this->request->get['page']; } else { $page = 1; } if (isset($this->request->get['limit'])) { $limit = $this->request->get['limit']; } else { $limit = $this->config->get('config_catalog_limit'); } $this->data['breadcrumbs'] = array(); $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/home'), 'separator' => false ); if (isset($this->request->get['path'])) { $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $path = ''; $parts = explode('_', (string)$this->request->get['path']); $category_id = (int)array_pop($parts); foreach ($parts as $path_id) { if (!$path) { $path = (int)$path_id; } else { $path .= '_' . (int)$path_id; } $category_info = $this->model_catalog_category->getCategory($path_id); if ($category_info) { $this->data['breadcrumbs'][] = array( 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'path=' . $path . $url), 'separator' => $this->language->get('text_separator') ); } } } else { $category_id = 0; } $category_info = $this->model_catalog_category->getCategory($category_id); if ($category_info) { if ($category_info['seo_title']) { $this->document->setTitle($category_info['seo_title']); } else { $this->document->setTitle($category_info['name']); } $this->document->setDescription($category_info['meta_description']); $this->document->setKeywords($category_info['meta_keyword']); $this->document->addScript('catalog/view/javascript/jquery/jquery.total-storage.min.js'); if ($category_info['seo_h1']) { $this->data['heading_title'] = $category_info['seo_h1']; } else { $this->data['heading_title'] = $category_info['name']; } $this->data['text_refine'] = $this->language->get('text_refine'); $this->data['text_empty'] = $this->language->get('text_empty'); $this->data['text_quantity'] = $this->language->get('text_quantity'); $this->data['text_manufacturer'] = $this->language->get('text_manufacturer'); $this->data['text_capacity'] = $this->language->get('text_capacity'); $this->data['text_polarity'] = $this->language->get('text_polarity'); $this->data['text_stamps'] = $this->language->get('text_stamps'); $this->data['text_capacity'] = $this->language->get('text_capacity'); $this->data['text_polarity'] = $this->language->get('text_polarity'); $this->data['text_stamps'] = $this->language->get('text_stamps'); $this->data['capacity'] = $product_info['capacity']; $this->data['polarity'] = $product_info['polarity']; $this->data['stamps'] = $product_info['stamps']; $this->data['text_model'] = $this->language->get('text_model'); $this->data['text_price'] = $this->language->get('text_price'); $this->data['text_tax'] = $this->language->get('text_tax'); $this->data['text_points'] = $this->language->get('text_points'); $this->data['text_compare'] = sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0)); $this->data['text_display'] = $this->language->get('text_display'); $this->data['text_list'] = $this->language->get('text_list'); $this->data['text_grid'] = $this->language->get('text_grid'); $this->data['text_sort'] = $this->language->get('text_sort'); $this->data['text_limit'] = $this->language->get('text_limit'); $this->data['button_cart'] = $this->language->get('button_cart'); $this->data['button_wishlist'] = $this->language->get('button_wishlist'); $this->data['button_compare'] = $this->language->get('button_compare'); $this->data['button_continue'] = $this->language->get('button_continue'); // Set the last category breadcrumb $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['breadcrumbs'][] = array( 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path']), 'separator' => $this->language->get('text_separator') ); if ($category_info['image']) { $this->data['thumb'] = $this->model_tool_image->resize($category_info['image'], $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height')); $this->document->setOgImage($this->data['thumb']); } else { $this->data['thumb'] = ''; } $this->data['description'] = html_entity_decode($category_info['description'], ENT_QUOTES, 'UTF-8'); $this->data['compare'] = $this->url->link('product/compare'); $url = ''; if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['categories'] = array(); $results = $this->model_catalog_category->getCategories($category_id); foreach ($results as $result) { $data = array( 'filter_category_id' => $result['category_id'], 'filter_sub_category' => true ); $product_total = $this->model_catalog_product->getTotalProducts($data); $this->data['categories'][] = array( 'name' => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''), 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url), 'thumb' => $this->model_tool_image->resize(($result['image']=='' ? 'no_image.jpg' : $result['image']), $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height')) ); } $this->data['products'] = array(); $data = array( 'filter_category_id' => $category_id, 'filter_filter' => $filter, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $limit, 'limit' => $limit ); $results = $this->model_catalog_product->getProducts($data); //Вызов метода getFoundProducts должен проводится сразу же после getProducts //только тогда он выдает правильное значения количества товаров $product_total = $this->model_catalog_product->getFoundProducts(); foreach ($results as $result) { if ($result['image']) { $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); } else { $image = $this->model_tool_image->resize('no_image.jpg', $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); } if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $price = false; } if ((float)$result['special']) { $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $special = false; } if ($this->config->get('config_tax')) { $tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price']); } else { $tax = false; } if ($this->config->get('config_review_status')) { $rating = (int)$result['rating']; } else { $rating = false; } $this->data['products'][] = array( 'product_id' => $result['product_id'], 'capacity' => $result['capacity'], 'polarity' => $result['polarity'], 'thumb' => $image, 'name' => $result['name'], 'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..', 'attribute_groups' => $this->model_catalog_product->getProductAttributes($result['product_id']), 'price' => $price, 'special' => $special, 'tax' => $tax, 'rating' => $result['rating'], 'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']), 'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url) ); } $url = ''; if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['sorts'] = array(); $this->data['sorts'][] = array( 'text' => $this->language->get('text_default'), 'value' => 'p.sort_order-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.sort_order&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_asc'), 'value' => 'pd.name-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=pd.name&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_desc'), 'value' => 'pd.name-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=pd.name&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_asc'), 'value' => 'p.price-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.price&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_desc'), 'value' => 'p.price-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.price&order=DESC' . $url) ); $url = ''; if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } $this->data['limits'] = array(); $limits = array_unique(array($this->config->get('config_catalog_limit'), 25, 50, 75, 100)); sort($limits); foreach($limits as $value){ $this->data['limits'][] = array( 'text' => $value, 'value' => $value, 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&limit=' . $value) ); } $url = ''; if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $pagination = new Pagination(); $pagination->total = $product_total; $pagination->page = $page; $pagination->limit = $limit; $pagination->text = $this->language->get('text_pagination'); $pagination->url = $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&page={page}'); $this->data['pagination'] = $pagination->render(); $this->data['sort'] = $sort; $this->data['order'] = $order; $this->data['limit'] = $limit; $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/category.tpl')) { $this->template = $this->config->get('config_template') . '/template/product/category.tpl'; } else { $this->template = 'default/template/product/category.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } else { $url = ''; if (isset($this->request->get['path'])) { $url .= '&path=' . $this->request->get['path']; } if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_error'), 'href' => $this->url->link('product/category', $url), 'separator' => $this->language->get('text_separator') ); $this->document->setTitle($this->language->get('text_error')); $this->data['heading_title'] = $this->language->get('text_error'); $this->data['text_error'] = $this->language->get('text_error'); $this->data['button_continue'] = $this->language->get('button_continue'); $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/error/not_found.tpl')) { $this->template = $this->config->get('config_template') . '/template/error/not_found.tpl'; } else { $this->template = 'default/template/error/not_found.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } } } ?> Ошибки пропали, но нормального результата я по-прежнему не достиг. Вместо необходимых данных отображается чушь какая-то... Надіслати Поділитися на інших сайтах More sharing options...
halfhope Опубліковано: 4 лютого 2015 Share Опубліковано: 4 лютого 2015 Вы знаете что такое var_dump? Пользуйтесь им. Надіслати Поділитися на інших сайтах More sharing options... OlegVladislavovich Опубліковано: 5 лютого 2015 Автор Share Опубліковано: 5 лютого 2015 Честно говоря, не знаю, первый раз такое слышу. Не могли бы дать отсылку на материал по var_dump чтобы я понял как юзать. Буду очень благодарен) Вы знаете что такое var_dump? Пользуйтесь им. Надіслати Поділитися на інших сайтах More sharing options... shoputils Опубліковано: 5 лютого 2015 Share Опубліковано: 5 лютого 2015 Google, не? http://www.php.su/var_dump http://php.net/manual/ru/function.var-dump.php http://php.ru/manual/function.var-dump.html Надіслати Поділитися на інших сайтах More sharing options... OlegVladislavovich Опубліковано: 5 лютого 2015 Автор Share Опубліковано: 5 лютого 2015 Google, не? http://www.php.su/var_dump http://php.net/manual/ru/function.var-dump.php http://php.ru/manual/function.var-dump.html Я это сам нашёл и посмотрел до того как вы это скинули. Тем не менее премного благодарен вам за помощь в поиске информации. К сожалению, после просмотра данных источников, у меня не возникло полного понимания функции var_dump. Просто в кодах я очень несилён. Вот конкретный вопрос. В какой файл нужно вставлять var_dump? В php? И в какую часть документа? Это будет выглядеть вот так? тут "a" "b" "c" это вроде, как я понимаю, строки, но я даже не знаю сколько у меня строк, мне не понятно, что считать строкой. Сначала у меня идёт text_capacity, а затем сама величина capacity <?php $capacity = array(1, 2, array("a", "b", "c")); var_dump($capacity); ?> Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 5 лютого 2015 Share Опубліковано: 5 лютого 2015 Я это сам нашёл и посмотрел до того как вы это скинули. Тем не менее премного благодарен вам за помощь в поиске информации. К сожалению, после просмотра данных источников, у меня не возникло полного понимания функции var_dump. Просто в кодах я очень несилён. Вот конкретный вопрос. В какой файл нужно вставлять var_dump? В php? И в какую часть документа? Это будет выглядеть вот так? тут "a" "b" "c" это вроде, как я понимаю, строки, но я даже не знаю сколько у меня строк, мне не понятно, что считать строкой. Сначала у меня идёт text_capacity, а затем сама величина capacity <?php $capacity = array(1, 2, array("a", "b", "c")); var_dump($capacity); ?> С помощью var_dump можно проверить наличие и содержимое переменной. Если ее нет, то Вы где-то ошиблись. Мы Вам дали ВСЕ, что нужно. Вот здесь посмотрите, там та же самая задача, а на 4-ой странице решение для страниц категорий. Надіслати Поділитися на інших сайтах More sharing options... OlegVladislavovich Опубліковано: 6 лютого 2015 Автор Share Опубліковано: 6 лютого 2015 С помощью var_dump можно проверить наличие и содержимое переменной. Если ее нет, то Вы где-то ошиблись. Мы Вам дали ВСЕ, что нужно. Вот здесь посмотрите, там та же самая задача, а на 4-ой странице решение для страниц категорий. Да, ссылка действительно помогла, благодарю Вас! Большое спасибо человеческое Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам [Решено] Проблемы с отображением новых полей товара в категориях
OlegVladislavovich Опубліковано: 5 лютого 2015 Автор Share Опубліковано: 5 лютого 2015 Честно говоря, не знаю, первый раз такое слышу. Не могли бы дать отсылку на материал по var_dump чтобы я понял как юзать. Буду очень благодарен) Вы знаете что такое var_dump? Пользуйтесь им. Надіслати Поділитися на інших сайтах More sharing options...
shoputils Опубліковано: 5 лютого 2015 Share Опубліковано: 5 лютого 2015 Google, не? http://www.php.su/var_dump http://php.net/manual/ru/function.var-dump.php http://php.ru/manual/function.var-dump.html Надіслати Поділитися на інших сайтах More sharing options... OlegVladislavovich Опубліковано: 5 лютого 2015 Автор Share Опубліковано: 5 лютого 2015 Google, не? http://www.php.su/var_dump http://php.net/manual/ru/function.var-dump.php http://php.ru/manual/function.var-dump.html Я это сам нашёл и посмотрел до того как вы это скинули. Тем не менее премного благодарен вам за помощь в поиске информации. К сожалению, после просмотра данных источников, у меня не возникло полного понимания функции var_dump. Просто в кодах я очень несилён. Вот конкретный вопрос. В какой файл нужно вставлять var_dump? В php? И в какую часть документа? Это будет выглядеть вот так? тут "a" "b" "c" это вроде, как я понимаю, строки, но я даже не знаю сколько у меня строк, мне не понятно, что считать строкой. Сначала у меня идёт text_capacity, а затем сама величина capacity <?php $capacity = array(1, 2, array("a", "b", "c")); var_dump($capacity); ?> Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 5 лютого 2015 Share Опубліковано: 5 лютого 2015 Я это сам нашёл и посмотрел до того как вы это скинули. Тем не менее премного благодарен вам за помощь в поиске информации. К сожалению, после просмотра данных источников, у меня не возникло полного понимания функции var_dump. Просто в кодах я очень несилён. Вот конкретный вопрос. В какой файл нужно вставлять var_dump? В php? И в какую часть документа? Это будет выглядеть вот так? тут "a" "b" "c" это вроде, как я понимаю, строки, но я даже не знаю сколько у меня строк, мне не понятно, что считать строкой. Сначала у меня идёт text_capacity, а затем сама величина capacity <?php $capacity = array(1, 2, array("a", "b", "c")); var_dump($capacity); ?> С помощью var_dump можно проверить наличие и содержимое переменной. Если ее нет, то Вы где-то ошиблись. Мы Вам дали ВСЕ, что нужно. Вот здесь посмотрите, там та же самая задача, а на 4-ой странице решение для страниц категорий. Надіслати Поділитися на інших сайтах More sharing options... OlegVladislavovich Опубліковано: 6 лютого 2015 Автор Share Опубліковано: 6 лютого 2015 С помощью var_dump можно проверить наличие и содержимое переменной. Если ее нет, то Вы где-то ошиблись. Мы Вам дали ВСЕ, что нужно. Вот здесь посмотрите, там та же самая задача, а на 4-ой странице решение для страниц категорий. Да, ссылка действительно помогла, благодарю Вас! Большое спасибо человеческое Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
OlegVladislavovich Опубліковано: 5 лютого 2015 Автор Share Опубліковано: 5 лютого 2015 Google, не? http://www.php.su/var_dump http://php.net/manual/ru/function.var-dump.php http://php.ru/manual/function.var-dump.html Я это сам нашёл и посмотрел до того как вы это скинули. Тем не менее премного благодарен вам за помощь в поиске информации. К сожалению, после просмотра данных источников, у меня не возникло полного понимания функции var_dump. Просто в кодах я очень несилён. Вот конкретный вопрос. В какой файл нужно вставлять var_dump? В php? И в какую часть документа? Это будет выглядеть вот так? тут "a" "b" "c" это вроде, как я понимаю, строки, но я даже не знаю сколько у меня строк, мне не понятно, что считать строкой. Сначала у меня идёт text_capacity, а затем сама величина capacity <?php $capacity = array(1, 2, array("a", "b", "c")); var_dump($capacity); ?> Надіслати Поділитися на інших сайтах More sharing options...
halfhope Опубліковано: 5 лютого 2015 Share Опубліковано: 5 лютого 2015 Я это сам нашёл и посмотрел до того как вы это скинули. Тем не менее премного благодарен вам за помощь в поиске информации. К сожалению, после просмотра данных источников, у меня не возникло полного понимания функции var_dump. Просто в кодах я очень несилён. Вот конкретный вопрос. В какой файл нужно вставлять var_dump? В php? И в какую часть документа? Это будет выглядеть вот так? тут "a" "b" "c" это вроде, как я понимаю, строки, но я даже не знаю сколько у меня строк, мне не понятно, что считать строкой. Сначала у меня идёт text_capacity, а затем сама величина capacity <?php $capacity = array(1, 2, array("a", "b", "c")); var_dump($capacity); ?> С помощью var_dump можно проверить наличие и содержимое переменной. Если ее нет, то Вы где-то ошиблись. Мы Вам дали ВСЕ, что нужно. Вот здесь посмотрите, там та же самая задача, а на 4-ой странице решение для страниц категорий. Надіслати Поділитися на інших сайтах More sharing options... OlegVladislavovich Опубліковано: 6 лютого 2015 Автор Share Опубліковано: 6 лютого 2015 С помощью var_dump можно проверить наличие и содержимое переменной. Если ее нет, то Вы где-то ошиблись. Мы Вам дали ВСЕ, что нужно. Вот здесь посмотрите, там та же самая задача, а на 4-ой странице решение для страниц категорий. Да, ссылка действительно помогла, благодарю Вас! Большое спасибо человеческое Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
OlegVladislavovich Опубліковано: 6 лютого 2015 Автор Share Опубліковано: 6 лютого 2015 С помощью var_dump можно проверить наличие и содержимое переменной. Если ее нет, то Вы где-то ошиблись. Мы Вам дали ВСЕ, что нужно. Вот здесь посмотрите, там та же самая задача, а на 4-ой странице решение для страниц категорий. Да, ссылка действительно помогла, благодарю Вас! Большое спасибо человеческое Надіслати Поділитися на інших сайтах More sharing options...
Recommended Posts