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

Marianna

Користувачі
  
  • Публікації

    1 126
  • З нами

  • Відвідування

Повідомлення, опубліковані користувачем Marianna

  1. Для тех у кого на сайте предполагается доставка товаров не только на территории Украины данный модуль покупать не советую. Автор так и не объяснил доходчиво что делать если нужна доставка за пределы Украины, так как этот модуль удаляет города и страны мира оставляя только одну Украину и ее города.

  2. Я вас услышал,и постараюсь учесть в следующем релизе.

    было бы хорошо, мой один клиент тоже давно ищет модуль чтобы оповещал о наличии у опций, правда под версию 1.5.4.1 это надо. Или назовите цену сколько будет с доплатой чтобы работало на 1.5.4.1. Опции тоже обновляются через модуль прайсов, но прочтя эту тему поняла что проблем с этим нет, если повесить задание в крон.

  3.  

    Внимание! Модуль перезапишет таблицы country и zone удалив все страны в магазине и заменив их на области и города Украины!

    Спасибо, купила модуль. Как быть если в магазине нужна страна не только Украина, можно указать просто какие sql запросы сделать? Чтобы не сносить города для других стран.

  4. 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.date_added';
    }

    if (isset($this->request->get['order'])) {
    $order = $this->request->get['order'];
    } else {
    $order = 'DESC';
    }

    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) {
    $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');

    $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_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'));
    } 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)
    );
    }

    $this->data['products'] = array();

    $data = array(
    'filter_category_id' => $category_id,
    'filter_filter' => $filter,
    'sort' => $sort,
    'order' => $order,
    'start' => ($page - 1) * $limit,
    'limit' => $limit
    );

    $product_total = $this->model_catalog_product->getTotalProducts($data);

    $results = $this->model_catalog_product->getProducts($data);

    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 = 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_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'],
    '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)
    );
    }

    $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.date_added-DESC',
    'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.sort_order&order=DESC' . $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)
    );

    if ($this->config->get('config_review_status')) {
    $this->data['sorts'][] = array(
    'text' => $this->language->get('text_rating_desc'),
    'value' => 'rating-DESC',
    'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=rating&order=DESC' . $url)
    );

    $this->data['sorts'][] = array(
    'text' => $this->language->get('text_rating_asc'),
    'value' => 'rating-ASC',
    'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=rating&order=ASC' . $url)
    );
    }

    $this->data['sorts'][] = array(
    'text' => $this->language->get('text_model_asc'),
    'value' => 'p.model-ASC',
    'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.model&order=ASC' . $url)
    );

    $this->data['sorts'][] = array(
    'text' => $this->language->get('text_model_desc'),
    'value' => 'p.model-DESC',
    'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.model&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';
    //}

    $template = 'category';
    $validCategories = array(
    'template_1' => array(45,46,29,59),
    'template_2' => array(63),
    //'template_N' => array(111,222,333,666,777),
    );
    foreach ($validCategories as $tmpl => $categoriesList) {
    if (in_array($category_id, $categoriesList)) {
    $template = $tmpl;
    break;
    }
    }
    if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/'.$template.'.tpl')) {
    $this->template = DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/'.$template.'.tpl';
    } else {
    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');

    $this->response->addHeader($this->request->server['SERVER_PROTOCOL'] . '/1.1 404 Not Found');

    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());
    }
    }
    }
    ?>

  5. не вижу связи.

    нужно для категории 3 уровня подлючить еще совсем другой шаблон. Пишу так:

    $validCategories = array(45,46,29,59,62);
    if (in_array($category_id, $validCategories)) {
             $template = $this->config->get('config_template') . '/template/product/subcategory.tpl';
    if (in_array($category_id, $validCategories)) {
           } else {
             $template = $this->config->get('config_template') . '/template/product/category.tpl';
           }
    $validCategories = array(63);
    if (in_array($category_id, $validCategories)) {
             $template = $this->config->get('config_template') . '/template/product/subcategory-2.tpl';
    if (in_array($category_id, $validCategories)) {
           } else {
             $template = $this->config->get('config_template') . '/template/product/category.tpl';
           }

     

    для 63 айди категории не работает так

  6. 1. Можно ли сделать чтобы в выпадающем списке подкатегорий рядом была колонка еще производителей? Причем производители должны отображаться только в Категории 1, в Категории 2 и Категория 3 там должны быть только подкатегории без производителей. Подобного решения в интернете я не нашла. Если это сложно, сколько это будет стоить?

    0f35cd51944ca3792f15907593886573.jpg

     

    2. Нужна структура меню как на картинке слева, но не выходит сделать чтобы разделы Текстиль, Освещение, Часы и т.д. отображались справа вертикально, мега меню их пихает все друг возле друга горизонтально с новой строки. Или сколько это будет стоить чтобы сделать?

    Первая картинка как долнжо быть, вторая как выходит:

    d056e256102988640113f4649fab10a8.jpge9b2e027c5a6ca5f58bdd7defbbe9749.jpg

  7. решила сделать так:

      if ($category_id == 4) {
             
    $template $this->config->get('config_template') . '/template/product/category_new.tpl';
           } else {
             
    $template $this->config->get('config_template') . '/template/product/category.tpl';
           }

           if (
    file_exists(DIR_TEMPLATE $template)) {
             
    $this->template $template;
           } else {
             
    $this->template 'default/template/product/category.tpl';
           }

     

    то есть для нужных айди категорий будет подключатся свой шаблон, где картинка категории вырезана, конечно это костыль, так как придется каждый раз вписывать для новых созданых категорий это, может есть проще решение?

  8. В гугле ответа на свой вопрос не нашла.

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

    post-20204-0-81179700-1443965963_thumb.jpg

    post-20204-0-89563400-1443965971_thumb.jpg

  9. Но я их в разговоре убедил, что это фильтр. И сказал, что нужно копать в сторону фильтрпро, потому что авторы, серии хранятся в атрибутах через разделитель

    А фильтрацию делать по селекту

    мне все равно на чем сделают, человеку нужно чтобы работало и было в таком же виде как сейчас, но с доработкой.

  10. если для решения будет использован filterpro - сделаю скидку

    никто не знает как из фильтра про сделать тоже самое, но в горизонтальном виде, если кто-то сможет сделать такое на фильтре про, то пускай пишет.

  11. Вы путаете фильтрацию с сортировкой.

    Насколько я понял, Вам нужен именно фильтр?

    Пишите в ЛС - посмотрю

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

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

Important Information

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