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

[Решено] убрать картинку подкатегории


Marianna

Recommended Posts

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

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

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

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

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


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

  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';
       }

 

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

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


 if ($category_id == 45 || $category_id == 46 || $category_id == 29 || $category_id == 59) {

 

это если нужно несколько айди категорий

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


  • 2 weeks later...

if ($category_id == 45 || $category_id == 46 || $category_id == 29 || $category_id == 59) {
>>

$validCategories = array(45,46,29,59);
if (in_array($category_id, $validCategories)) {
Змінено користувачем afwollis
Надіслати
Поділитися на інших сайтах

к сожалению данное решение работает только до двух вложенных категорий :( для третей нет

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


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

нужно для категории 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 айди категории не работает так

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


$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 = $this->config->get('config_template') . '/template/product/'.$template.'.tpl'; // fixed

} 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';

}

}

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

Notice: Error: Could not load template /home/pytjofuk/flower.radiance.com.ua/catalog/view/theme//home/pytjofuk/flower.radiance.com.ua/catalog/view/theme/moneymaker/template/product/category.tpl! in

 

не могу понять из-за чего не правильный путь пишется

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


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

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


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

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

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

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

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

Вхід

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

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

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

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

Important Information

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