Jump to content
Sign in to follow this  
ArtemMay

Кнопка "все товары в этой категории"

Recommended Posts

Добрый вечер! На сайте имеется кнопка перехода из страницы продукта в категорию где этот продукт находится. Кнопка работает исправно,если клиент переходит на странице продукта внутри сайта, НО если клиент заходит на странице продукта из поисковика,то функционал перестает работать (а ведь теряется смысл этого функционала, чтобы человек переходя из поисковика мог легко перейти в категорию ему нужной марки автомобиля"

 

код функционала:

<div class="tovar_v_category"
                                     style="border-width:1px;border-color: #ccc;border-style: solid;">
                                    <?php if (!empty($cats)) { ?>
                                        <a href="<?php $end = end($cats);
                                        echo $end['cat']; ?>">Все товары этой категории</a>
                                    <?php } ?>

    </div>

 

Опенкарт 1.5.6.4

 

 

Что не так??

Screenshot_1.png

Screenshot_2.png

Share this post


Link to post
Share on other sites

Доктор, у меня температура. Вот фотография градусника. Что не так?

Share this post


Link to post
Share on other sites

какая информация еще нужна помимо:

"

<div class="tovar_v_category"
                                     style="border-width:1px;border-color: #ccc;border-style: solid;">
                                    <?php if (!empty($cats)) { ?>
                                        <a href="<?php $end = end($cats);
                                        echo $end['cat']; ?>">Все товары этой категории</a>
                                    <?php } ?>

    </div>" ???

я не селен в программирование

Share this post


Link to post
Share on other sites

<?php 

class ControllerProductProduct extends Controller {
    private $error = array(); 
    
    public function index() {

        $this->language->load('product/product');
    
        $this->data['breadcrumbs'] = array();

        $this->data['breadcrumbs'][] = array(
            'text'      => $this->language->get('text_home'),
            'href'      => $this->url->link('common/home'),            
            'separator' => false
        );
        
        $this->load->model('catalog/category');    
        
        if (isset($this->request->get['path'])) {
            $path = '';
                
            foreach (explode('_', $this->request->get['path']) as $path_id) {
                if (!$path) {
                    $path = $path_id;
                } else {
                    $path .= '_' . $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),
                        'separator' => $this->language->get('text_separator')
                    );
                    
                        /*выыод все товары категории*/
    
    $this->data['cats'][] = array(
  'cat'      => $this->url->link('product/category', 'path=' . $path),

 );
            /*конец выыод все товары категории*/
                
                }
            }
        }
        
        $this->load->model('catalog/manufacturer');    
        
        if (isset($this->request->get['manufacturer_id'])) {
            $this->data['breadcrumbs'][] = array( 
                'text'      => $this->language->get('text_brand'),
                'href'      => $this->url->link('product/manufacturer'),
                'separator' => $this->language->get('text_separator')
            );    
                
            $manufacturer_info = $this->model_catalog_manufacturer->getManufacturer($this->request->get['manufacturer_id']);

            if ($manufacturer_info) {    
                $this->data['breadcrumbs'][] = array(
                    'text'        => $manufacturer_info['name'],
                    'href'        => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id']),                    
                    'separator' => $this->language->get('text_separator')
                );
            }
        }
        
        if (isset($this->request->get['filter_name']) || isset($this->request->get['filter_tag'])) {
            $url = '';
            
            if (isset($this->request->get['filter_name'])) {
                $url .= '&filter_name=' . $this->request->get['filter_name'];
            }
                        
            if (isset($this->request->get['filter_tag'])) {
                $url .= '&filter_tag=' . $this->request->get['filter_tag'];
            }
                        
            if (isset($this->request->get['filter_description'])) {
                $url .= '&filter_description=' . $this->request->get['filter_description'];
            }
            
            if (isset($this->request->get['filter_category_id'])) {
                $url .= '&filter_category_id=' . $this->request->get['filter_category_id'];
            }    
                        
            $this->data['breadcrumbs'][] = array(
                'text'      => $this->language->get('text_search'),
                'href'      => $this->url->link('product/search', $url),
                'separator' => $this->language->get('text_separator')
            );     
        }
        
        if (isset($this->request->get['product_id'])) {
            $product_id = (int)$this->request->get['product_id'];
        } else {
            $product_id = 0;
        }
        

        $this->load->model('catalog/product');
        
        $product_info = $this->model_catalog_product->getProduct($product_id);
        
        if ($product_info) {
            $url = '';
            
            if (isset($this->request->get['path'])) {
                $url .= '&path=' . $this->request->get['path'];
            }
            
            if (isset($this->request->get['manufacturer_id'])) {
                $url .= '&manufacturer_id=' . $this->request->get['manufacturer_id'];
            }            

            if (isset($this->request->get['filter_name'])) {
                $url .= '&filter_name=' . $this->request->get['filter_name'];
            }
                        
            if (isset($this->request->get['filter_tag'])) {
                $url .= '&filter_tag=' . $this->request->get['filter_tag'];
            }
            
            if (isset($this->request->get['filter_description'])) {
                $url .= '&filter_description=' . $this->request->get['filter_description'];
            }    
                        
            if (isset($this->request->get['filter_category_id'])) {
                $url .= '&filter_category_id=' . $this->request->get['filter_category_id'];
            }
                                                
            $this->data['breadcrumbs'][] = array(
                'text'      => $product_info['name'],
                'href'      => $this->url->link('product/product', $url . '&product_id=' . $this->request->get['product_id']),
                'separator' => $this->language->get('text_separator')
            );            
            
            $this->document->setTitle($product_info['name']);
            $this->document->setDescription($product_info['meta_description']);
            $this->document->setKeywords($product_info['meta_keyword']);
            $this->document->addLink($this->url->link('product/product', 'product_id=' . $this->request->get['product_id']), 'canonical');
            
            $this->data['heading_title'] = $product_info['name'];
            
            $this->data['text_select'] = $this->language->get('text_select');
            $this->data['text_manufacturer'] = $this->language->get('text_manufacturer');
            $this->data['text_model'] = $this->language->get('text_model');
/*-----*/    $this->data['text_sku'] = $this->language->get('text_sku');
/*-----*/    $this->data['text_upc'] = $this->language->get('text_upc');
/*-----*/    $this->data['text_ean'] = $this->language->get('text_ean');
/*-----*/    $this->data['text_jan'] = $this->language->get('text_jan');

            $this->data['text_reward'] = $this->language->get('text_reward');
            $this->data['text_points'] = $this->language->get('text_points');    
            $this->data['text_discount'] = $this->language->get('text_discount');
            $this->data['text_stock'] = $this->language->get('text_stock');
            $this->data['text_price'] = $this->language->get('text_price');
            $this->data['text_tax'] = $this->language->get('text_tax');
            $this->data['text_discount'] = $this->language->get('text_discount');
            $this->data['text_option'] = $this->language->get('text_option');
            $this->data['text_qty'] = $this->language->get('text_qty');
            $this->data['text_minimum'] = sprintf($this->language->get('text_minimum'), $product_info['minimum']);
            $this->data['text_or'] = $this->language->get('text_or');
            $this->data['text_write'] = $this->language->get('text_write');
            $this->data['text_note'] = $this->language->get('text_note');
            $this->data['text_share'] = $this->language->get('text_share');
            $this->data['text_wait'] = $this->language->get('text_wait');
            $this->data['text_tags'] = $this->language->get('text_tags');
            
            $this->data['entry_name'] = $this->language->get('entry_name');
            $this->data['entry_review'] = $this->language->get('entry_review');
            $this->data['entry_rating'] = $this->language->get('entry_rating');
            $this->data['entry_good'] = $this->language->get('entry_good');
            $this->data['entry_bad'] = $this->language->get('entry_bad');
            $this->data['entry_captcha'] = $this->language->get('entry_captcha');
            
            $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_upload'] = $this->language->get('button_upload');
            $this->data['button_continue'] = $this->language->get('button_continue');
            
            $this->load->model('catalog/review');

            $this->data['tab_description'] = $this->language->get('tab_description');
            $this->data['tab_attribute'] = $this->language->get('tab_attribute');
            $this->data['tab_review'] = sprintf($this->language->get('tab_review'), $this->model_catalog_review->getTotalReviewsByProductId($this->request->get['product_id']));
            $this->data['tab_related'] = $this->language->get('tab_related');
            
            $this->data['product_id'] = $this->request->get['product_id'];
            $this->data['manufacturer'] = $product_info['manufacturer'];
            $this->data['manufacturers'] = $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $product_info['manufacturer_id']);
            $this->data['model'] = $product_info['model'];
            $this->data['reward'] = $product_info['reward'];
            $this->data['points'] = $product_info['points'];
            
            // Add to viewed
            if (!isset($_SESSION['product_viewed'][$product_id])){
                $_SESSION['product_viewed'][$product_id] = $product_id;
            }
            
            if ($product_info['quantity'] <= 0) {
                $this->data['stock'] = $product_info['stock_status'];
            } elseif ($this->config->get('config_stock_display')) {
                $this->data['stock'] = $product_info['quantity'];
            } else {
                $this->data['stock'] = $this->language->get('text_instock');
            }
            
            $this->load->model('tool/image');

        /*    if ($product_info['image']) {
                $this->data['popup'] = $this->model_tool_image->resize($product_info['image'], $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height'));
            } else {
                $this->data['popup'] = '';
            }*/
            
            if ($product_info['image']) {
                $this->data['popup'] = $this->model_tool_image->resize($product_info['image'], $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height'), true);
            } else {
                $this->data['popup'] = '';
            }
            
            if ($product_info['image']) {
                $this->data['thumb'] = $this->model_tool_image->resize($product_info['image'], $this->config->get('config_image_thumb_width'), $this->config->get('config_image_thumb_height'));
            } else {
                $this->data['thumb'] = '';
            }
            
            $this->data['images'] = array();
            
            $results = $this->model_catalog_product->getProductImages($this->request->get['product_id']);
            
            foreach ($results as $result) {
                $this->data['images'][] = array(
                    'popup' => $this->model_tool_image->resize($result['image'], $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')),
                    'thumb' => $this->model_tool_image->resize($result['image'], $this->config->get('config_image_additional_width'), $this->config->get('config_image_additional_height'))
                );
            }    
                        
            if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
                $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')));
            } else {
                $this->data['price'] = false;
            }
                        
            if ((float)$product_info['special']) {
                $this->data['special'] = $this->currency->format($this->tax->calculate($product_info['special'], $product_info['tax_class_id'], $this->config->get('config_tax')));
            } else {
                $this->data['special'] = false;
            }
            
            if ($this->config->get('config_tax')) {
                $this->data['tax'] = $this->currency->format((float)$product_info['special'] ? $product_info['special'] : $product_info['price']);
            } else {
                $this->data['tax'] = false;
            }
            
            $discounts = $this->model_catalog_product->getProductDiscounts($this->request->get['product_id']);
            
            $this->data['discounts'] = array(); 
            
            foreach ($discounts as $discount) {
                $this->data['discounts'][] = array(
                    'quantity' => $discount['quantity'],
                    'price'    => $this->currency->format($this->tax->calculate($discount['price'], $product_info['tax_class_id'], $this->config->get('config_tax')))
                );
            }
            
            $this->data['options'] = array();
            
            foreach ($this->model_catalog_product->getProductOptions($this->request->get['product_id']) as $option) {
                if ($option['type'] == 'select' || $option['type'] == 'radio' || $option['type'] == 'checkbox' || $option['type'] == 'image') {
                    $option_value_data = array();
                    
                    foreach ($option['option_value'] as $option_value) {
                        if (!$option_value['subtract'] || ($option_value['quantity'] > 0)) {
                            if ((($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) && (float)$option_value['price']) {
                                $price = $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax')));
                            } else {
                                $price = false;
                            }
                            
                            $option_value_data[] = array(
                                'product_option_value_id' => $option_value['product_option_value_id'],
                                'option_value_id'         => $option_value['option_value_id'],
                                'name'                    => $option_value['name'],
                                'image'                   => $this->model_tool_image->resize($option_value['image'], 50, 50),
                                'price'                   => $price,
                                'price_prefix'            => $option_value['price_prefix']
                            );
                        }
                    }
                    
                    $this->data['options'][] = array(
                        'product_option_id' => $option['product_option_id'],
                        'option_id'         => $option['option_id'],
                        'name'              => $option['name'],
                        'type'              => $option['type'],
                        'option_value'      => $option_value_data,
                        'required'          => $option['required']
                    );                    
                }
                elseif ($option['type'] == 'text' || $option['type'] == 'textarea' || $option['type'] == 'file' || $option['type'] == 'date' || $option['type'] == 'datetime' || $option['type'] == 'time') {
                    $this->data['options'][] = array(
                        'product_option_id' => $option['product_option_id'],
                        'option_id'         => $option['option_id'],
                        'name'              => $option['name'],
                        'type'              => $option['type'],
                        'option_value'      => $option['option_value'],
                        'required'          => $option['required']
                    );                        
                }
            }
                            
            if ($product_info['minimum']) {
                $this->data['minimum'] = $product_info['minimum'];
            } else {
                $this->data['minimum'] = 1;
            }
            
            $this->data['review_status'] = $this->config->get('config_review_status');
/*------*/    $this->data['sku'] = $product_info['sku'];
/*------*/    $this->data['upc'] = $product_info['upc'];
/*------*/    $this->data['ean'] = $product_info['ean'];
/*------*/    $this->data['jan'] = $product_info['jan'];
            $this->data['reviews'] = sprintf($this->language->get('text_reviews'), (int)$product_info['reviews']);
            $this->data['rating'] = (int)$product_info['rating'];
            $this->data['description'] = html_entity_decode($product_info['description'], ENT_QUOTES, 'UTF-8');
            $this->data['attribute_groups'] = $this->model_catalog_product->getProductAttributes($this->request->get['product_id']);
            
            $this->data['products'] = array();
            
            $results = $this->model_catalog_product->getProductRelated($this->request->get['product_id']);
            
            foreach ($results as $result) {
                if ($result['image']) {
                    $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_related_width'), $this->config->get('config_image_related_height'));
                } else {
                    $image = false;
                }
                
                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_review_status')) {
                    $rating = (int)$result['rating'];
                } else {
                    $rating = false;
                }
                            
                $this->data['products'][] = array(
                    'product_id' => $result['product_id'],
                    'thumb'        => $image,
                    'name'         => $result['name'],
                    'price'        => $price,
                    'special'      => $special,
                    'rating'     => $rating,
                    'reviews'    => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),
                    'href'         => $this->url->link('product/product', 'product_id=' . $result['product_id']),
                );
            }    
            
            $this->data['tags'] = array();
                    
            $tags = explode(',', $product_info['tag']);
            
            foreach ($tags as $tag) {
                $this->data['tags'][] = array(
                    'tag'  => trim($tag),
                    'href' => $this->url->link('product/search', 'filter_tag=' . trim($tag))
                );
            }
            
            $this->model_catalog_product->updateViewed($this->request->get['product_id']);
            
            if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/product.tpl')) {
                $this->template = $this->config->get('config_template') . '/template/product/product.tpl';
            } else {
                $this->template = 'default/template/product/product.tpl';
            }
            
            $this->children = array(
                'common/column_left',
                'common/column_right',
                'common/content_top',
                'common/content_bottom',
                'common/footer',
                'module/catapulta',
                '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['manufacturer_id'])) {
                $url .= '&manufacturer_id=' . $this->request->get['manufacturer_id'];
            }            

            if (isset($this->request->get['filter_name'])) {
                $url .= '&filter_name=' . $this->request->get['filter_name'];
            }    
                    
            if (isset($this->request->get['filter_tag'])) {
                $url .= '&filter_tag=' . $this->request->get['filter_tag'];
            }
                            
            if (isset($this->request->get['filter_description'])) {
                $url .= '&filter_description=' . $this->request->get['filter_description'];
            }
                    
            if (isset($this->request->get['filter_category_id'])) {
                $url .= '&filter_category_id=' . $this->request->get['filter_category_id'];
            }
                                
              $this->data['breadcrumbs'][] = array(
                'text'      => $this->language->get('text_error'),
                'href'      => $this->url->link('product/product', $url . '&product_id=' . $product_id),
                '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());
        }
      }
    
    public function review() {
        $this->language->load('product/product');
        
        $this->load->model('catalog/review');

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

        if (isset($this->request->get['page'])) {
            $page = $this->request->get['page'];
        } else {
            $page = 1;
        }  
        
        $this->data['reviews'] = array();
        
        $review_total = $this->model_catalog_review->getTotalReviewsByProductId($this->request->get['product_id']);
            
        $results = $this->model_catalog_review->getReviewsByProductId($this->request->get['product_id'], ($page - 1) * 5, 5);
              
        foreach ($results as $result) {
            $this->data['reviews'][] = array(
                'author'     => $result['author'],
                'text'       => $result['text'],
                'rating'     => (int)$result['rating'],
                'reviews'    => sprintf($this->language->get('text_reviews'), (int)$review_total),
                'date_added' => date($this->language->get('date_format_short'), strtotime($result['date_added']))
            );
          }            
            
        $pagination = new Pagination();
        $pagination->total = $review_total;
        $pagination->page = $page;
        $pagination->limit = 5; 
        $pagination->text = $this->language->get('text_pagination');
        $pagination->url = $this->url->link('product/product/review', 'product_id=' . $this->request->get['product_id'] . '&page={page}');
            
        $this->data['pagination'] = $pagination->render();
        
        if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/review.tpl')) {
            $this->template = $this->config->get('config_template') . '/template/product/review.tpl';
        } else {
            $this->template = 'default/template/product/review.tpl';
        }
        
        $this->response->setOutput($this->render());
    }
    
    public function write() {
        $this->language->load('product/product');
        
        $this->load->model('catalog/review');
        
        $json = array();
        
        if ($this->request->server['REQUEST_METHOD'] == 'POST') {
            if ((utf8_strlen($this->request->post['name']) < 3) || (utf8_strlen($this->request->post['name']) > 25)) {
                $json['error'] = $this->language->get('error_name');
            }
            
            if ((utf8_strlen($this->request->post['text']) < 25) || (utf8_strlen($this->request->post['text']) > 1000)) {
                $json['error'] = $this->language->get('error_text');
            }
    
            if (empty($this->request->post['rating'])) {
                $json['error'] = $this->language->get('error_rating');
            }
    
            if (empty($this->session->data['captcha']) || ($this->session->data['captcha'] != $this->request->post['captcha'])) {
                $json['error'] = $this->language->get('error_captcha');
            }
                
            if (!isset($json['error'])) {
                $this->model_catalog_review->addReview($this->request->get['product_id'], $this->request->post);
                
                $json['success'] = $this->language->get('text_success');
            }
        }
        
        $this->response->setOutput(json_encode($json));
    }
    
    public function captcha() {
        $this->load->library('captcha');
        
        $captcha = new Captcha();
        
        $this->session->data['captcha'] = $captcha->getCode();
        
        $captcha->showImage();
    }
    
    public function upload() {
        $this->language->load('product/product');
        
        $json = array();
        
        if (!empty($this->request->files['file']['name'])) {
            $filename = basename(preg_replace('/[^a-zA-Z0-9\.\-\s+]/', '', html_entity_decode($this->request->files['file']['name'], ENT_QUOTES, 'UTF-8')));
            
            if ((utf8_strlen($filename) < 3) || (utf8_strlen($filename) > 64)) {
                $json['error'] = $this->language->get('error_filename');
              }          
            
            $allowed = array();
            
            $filetypes = explode(',', $this->config->get('config_upload_allowed'));
            
            foreach ($filetypes as $filetype) {
                $allowed[] = trim($filetype);
            }
            
            if (!in_array(substr(strrchr($filename, '.'), 1), $allowed)) {
                $json['error'] = $this->language->get('error_filetype');
               }    
                        
            if ($this->request->files['file']['error'] != UPLOAD_ERR_OK) {
                $json['error'] = $this->language->get('error_upload_' . $this->request->files['file']['error']);
            }
        } else {
            $json['error'] = $this->language->get('error_upload');
        }
        
        if (!$json) {
            if (is_uploaded_file($this->request->files['file']['tmp_name']) && file_exists($this->request->files['file']['tmp_name'])) {
                $file = basename($filename) . '.' . md5(mt_rand());
                
                // Hide the uploaded file name so people can not link to it directly.
                $json['file'] = $this->encryption->encrypt($file);
                
                move_uploaded_file($this->request->files['file']['tmp_name'], DIR_DOWNLOAD . $file);
            }
                        
            $json['success'] = $this->language->get('text_upload');
        }    
        
        $this->response->setOutput(json_encode($json));        
    }

}
?>

Share this post


Link to post
Share on other sites

Ну как бы вот так можно

 

//В контроллер
if (isset($this->request->get['path'])) {
    $data['category_link'] = $this->url->link('product/category', 'path=' . $this->request->get['path']);
}else{
	$data['category_link'] = false;
}  

//В шаблон
<?php if($category_link) { ?>
<div class="tovar_v_category" style="border-width:1px;border-color: #ccc;border-style: solid;">
<a href="<?php echo $category_link; ?>">Все товары этой категории</a>
</div>
<?php } ?>

 

Share this post


Link to post
Share on other sites
6 минут назад, Waha сказал:

Ну как бы вот так можно

 


//В контроллер
if (isset($this->request->get['path'])) {
    $data['category_link'] = $this->url->link('product/category', 'path=' . $this->request->get['path']);
}else{
	$data['category_link'] = false;
}  

//В шаблон
<?php if($category_link) { ?>
<div class="tovar_v_category" style="border-width:1px;border-color: #ccc;border-style: solid;">
<a href="<?php echo $category_link; ?>">Все товары этой категории</a>
</div>
<?php } ?>

 

подскажите пжл,в каком именно месте нужно вставить в контролере??

Share this post


Link to post
Share on other sites
Posted (edited)

Дали бы вы ссылку на ваш сайт. И пример ссылки из поисковика, по которой все продукты категории не работают. Подозреваю, что у вас на сайте страницы товара  имеют дубли вида сайт/категория/продукт и сайт/продукт. Потому, в последнем случае, и не видны категории.
Или уже поправили?
Этот сайт?
https://bamper99.ru/HYUNDAI-Solaris-(11-17)?product_id=553
тут работает.

Edited by Shureg

Share this post


Link to post
Share on other sites
Posted (edited)

Да,этот.......

если переходить по вашей ссылки,то работает,если перехожу из поисковика,то нет

 

пример запроса в поисковике яндекса :"бампер на солярис в цвет кузова"

 

"имеют дубли вида сайт/категория/продукт и сайт/продукт. Потому, в последнем случае, и не видны категории."..... что это и как проверить??))

Edited by ArtemMay

Share this post


Link to post
Share on other sites
28 минут назад, ArtemMay сказал:

Да,этот.......

если переходить по вашей ссылки,то работает,если перехожу из поисковика,то нет

 

пример запроса в поисковике яндекса :"бампер на солярис в цвет кузова"

 

"имеют дубли вида сайт/категория/продукт и сайт/продукт. Потому, в последнем случае, и не видны категории."..... что это и как проверить??))

в гугле все работает. при заходе из поисковика на эту страницу https://bamper99.ru/HYUNDAI-Solaris-(11-17)?product_id=553  кнопка  все товары ведет на эту страницу https://bamper99.ru/HYUNDAI-Solaris-(11-17) .

все верно?

Share this post


Link to post
Share on other sites
29 минут назад, ArtemMay сказал:

Да,этот.......

если переходить по вашей ссылки,то работает,если перехожу из поисковика,то нет

 

пример запроса в поисковике яндекса :"бампер на солярис в цвет кузова"

 

"имеют дубли вида сайт/категория/продукт и сайт/продукт. Потому, в последнем случае, и не видны категории."..... что это и как проверить??))

но вот такие урл HYUNDAI-Solaris-(11-17)?product_id=553 - это конечно нечто.

Share this post


Link to post
Share on other sites
Posted (edited)

.

Edited by ArtemMay

Share this post


Link to post
Share on other sites
Posted (edited)
26 минут назад, Dimasscus сказал:

в гугле все работает. при заходе из поисковика на эту страницу https://bamper99.ru/HYUNDAI-Solaris-(11-17)?product_id=553  кнопка  все товары ведет на эту страницу https://bamper99.ru/HYUNDAI-Solaris-(11-17) .

все верно?

верно,все работает при заходе из гугла)) никогда не пользуюсь гуглом. только через яндекс

Edited by ArtemMay

Share this post


Link to post
Share on other sites
22 минуты назад, ArtemMay сказал:

верно,все работает при заходе из гугла)) никогда не пользуюсь гуглом. только через яндекс

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

Share this post


Link to post
Share on other sites

Спасибо за помощь!!! теперь буду читать литературу как исправить "вам не кнопку лечить надо, а с роутингом разбираться"))

Share this post


Link to post
Share on other sites
2 минуты назад, ArtemMay сказал:

Спасибо за помощь!!! теперь буду читать литературу как исправить "вам не кнопку лечить надо, а с роутингом разбираться"))

вы посмотрите что у вас с урл товара за маразм. для начала

Share this post


Link to post
Share on other sites
Posted (edited)
14 минут назад, Dimasscus сказал:

вы посмотрите что у вас с урл товара за маразм. для начала

"теперь буду читать литературу как исправить "вам не кнопку лечить надо, а с роутингом разбираться"))"......это я и имел ввиду. Возможно что я путаю технологические описания(названия) проблем.Я мало имею представление об програмирование. Не подскажите с чего мне начать разбираться в проблеме?

Edited by ArtemMay

Share this post


Link to post
Share on other sites
1 час назад, ArtemMay сказал:

"теперь буду читать литературу как исправить "вам не кнопку лечить надо, а с роутингом разбираться"))"......это я и имел ввиду. Возможно что я путаю технологические описания(названия) проблем.Я мало имею представление об програмирование. Не подскажите с чего мне начать разбираться в проблеме?

с того чтобы чпу на сайте включить, прописать сео урл, и и избавиться от дублей страниц

Share this post


Link to post
Share on other sites
4 часа назад, Dimasscus сказал:

с того чтобы чпу на сайте включить, прописать сео урл, и и избавиться от дублей страниц

И вылететь из выдачи поисковиков. Редиректы сначала настроить надо.

Share this post


Link to post
Share on other sites
3 часа назад, Shureg сказал:

И вылететь из выдачи поисковиков. Редиректы сначала настроить надо.

то есть по вашему сео про не решает задачу редиректов? :))

Share this post


Link to post
Share on other sites
51 минуту назад, Dimasscus сказал:

то есть по вашему сео про не решает задачу редиректов? :))

Здесь не решает. Дубли страниц уже попали в выдачу, теперь их надо слить вместе 301-ым редиректом. Сеопро такого не делает.

Share this post


Link to post
Share on other sites
10 минут назад, Shureg сказал:

Здесь не решает. Дубли страниц уже попали в выдачу, теперь их надо слить вместе 301-ым редиректом. Сеопро такого не делает.

дубли страниц попали в выдачу

 при переходе автоматически редирект на нужную страницу(сео про таки решает) -не усложняйте там где не надо.

но если хочется поморочиться- то выкачать страницы которые в индексе и руками прописать редиректы соответсвующие

Share this post


Link to post
Share on other sites

Да, сеопро хватит. Посмотрел, он там все оптом редиректит.
Только вы уж, раз советуете, указываете, что надо не просто чпу включить, а сеопро скачать и установить. Стандартный чпу проблему не решит.

Share this post


Link to post
Share on other sites
2 минуты назад, Shureg сказал:

Да, сеопро хватит. Посмотрел, он там все оптом редиректит.
Только вы уж, раз советуете, указываете, что надо не просто чпу включить, а сеопро скачать и установить. Стандартный чпу проблему не решит.

сео про в окстор по умолчанию встроен. если же у тс чисты опенкарт- то да, нужно установить, вы правы. не увидел сразу что у него за версия двигла

Share this post


Link to post
Share on other sites

Ребята!!еще раз спасибо и с наступившим вас!!!!!!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.