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

Производители


Recommended Posts

Добрый день.

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

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



<?php

class ModelCatalogManufacturer extends Model {

public function getManufacturer($manufacturer_id) {

$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "manufacturer m LEFT JOIN " . DB_PREFIX . "manufacturer_to_store m2s ON (m.manufacturer_id = m2s.manufacturer_id) WHERE m.manufacturer_id = '" . (int)$manufacturer_id . "' AND m2s.store_id = '" . (int)$this->config->get('config_store_id') . "'");

return $query->row;

}

public function getManufacturers($data = array()) {

if ($data) {

$sql = "SELECT * FROM " . DB_PREFIX . "manufacturer m LEFT JOIN " . DB_PREFIX . "manufacturer_to_store m2s ON (m.manufacturer_id = m2s.manufacturer_id) WHERE m2s.store_id = '" . (int)$this->config->get('config_store_id') . "'";

$sort_data = array(

'name',

'sort_order'

);

if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {

$sql .= " ORDER BY " . $data['sort'];

} else {

$sql .= " ORDER BY name";

}

if (isset($data['order']) && ($data['order'] == 'DESC')) {

$sql .= " DESC";

} else {

$sql .= " ASC";

}

if (isset($data['start']) || isset($data['limit'])) {

if ($data['start'] < 0) {

$data['start'] = 0;

}

if ($data['limit'] < 1) {

$data['limit'] = 20;

}

$sql .= " LIMIT " . (int)$data['start'] . "," . (int)$data['limit'];

}

$query = $this->db->query($sql);

return $query->rows;

} else {

$manufacturer_data = $this->cache->get('manufacturer.' . (int)$this->config->get('config_store_id'));

if (!$manufacturer_data) {

$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "manufacturer m LEFT JOIN " . DB_PREFIX . "manufacturer_to_store m2s ON (m.manufacturer_id = m2s.manufacturer_id) WHERE m2s.store_id = '" . (int)$this->config->get('config_store_id') . "' ORDER BY name");

$manufacturer_data = $query->rows;

$this->cache->set('manufacturer.' . (int)$this->config->get('config_store_id'), $manufacturer_data);

}

return $manufacturer_data;

}

}

}

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


у Вас в шаблоне правильно прописан вывод ? 

 

я вижу только <img src="" border="0" class="man-list-logo">

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

Как всегда решение проблемы оказалось на много проще чем я думал. Всем огромное спасибо за отзывчивость.

Исправил проблему тем, что убрал в настройках шаблона галочку "выводить логотипы производителей"

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


Здравствуйте. Также имеется проблема с производителями. Перепробовала все что смогла, самой не решается.

Суть - имеется 40 производителей, на сайте выводится только 9. Причем не важно числится за производителем товар или нет, есть логотип или нет и т.д. В карточке товара доступно к выбору все 40. Имею подозрение что это конфликт с созданием имени страницы производителя, созданный посредством "Волшебные редакторы (PRO версия)"  т.к. до этого проблем не возникало.

сайт http://delta-term.ua/index.php?route=product/manufacturer#B

manufacturer.php

class ControllerCatalogManufacturer extends Controller {
private $error = array();

public function index() {
$this->language->load('catalog/manufacturer');

$this->document->setTitle($this->language->get('heading_title'));

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

$this->getList();
}

public function add() {
$this->language->load('catalog/manufacturer');

$this->document->setTitle($this->language->get('heading_title'));

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

if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validateForm()) {
$this->model_catalog_manufacturer->addManufacturer($this->request->post);

$this->session->data['success'] = $this->language->get('text_success');

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

$this->response->redirect($this->url->link('catalog/manufacturer', 'token=' . $this->session->data['token'] . $url, 'SSL'));
}

$this->getForm();
}

public function edit() {
$this->language->load('catalog/manufacturer');

$this->document->setTitle($this->language->get('heading_title'));

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

if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validateForm()) {
$this->model_catalog_manufacturer->editManufacturer($this->request->get['manufacturer_id'], $this->request->post);

$this->session->data['success'] = $this->language->get('text_success');

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

$this->response->redirect($this->url->link('catalog/manufacturer', 'token=' . $this->session->data['token'] . $url, 'SSL'));
}

$this->getForm();
}

public function delete() {
$this->language->load('catalog/manufacturer');

$this->document->setTitle($this->language->get('heading_title'));

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

if (isset($this->request->post['selected']) && $this->validateDelete()) {
foreach ($this->request->post['selected'] as $manufacturer_id) {
$this->model_catalog_manufacturer->deleteManufacturer($manufacturer_id);
}

$this->session->data['success'] = $this->language->get('text_success');

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

$this->response->redirect($this->url->link('catalog/manufacturer', 'token=' . $this->session->data['token'] . $url, 'SSL'));
}

$this->getList();
}

protected function getList() {
if (isset($this->request->get['sort'])) {
$sort = $this->request->get['sort'];
} else {
$sort = 'name';
}

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

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

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

$data['breadcrumbs'][] = array(
'text' => $this->language->get('text_home'),
'href' => $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], 'SSL')
);

$data['breadcrumbs'][] = array(
'text' => $this->language->get('heading_title'),
'href' => $this->url->link('catalog/manufacturer', 'token=' . $this->session->data['token'] . $url, 'SSL')
);

$data['add'] = $this->url->link('catalog/manufacturer/add', 'token=' . $this->session->data['token'] . $url, 'SSL');
$data['delete'] = $this->url->link('catalog/manufacturer/delete', 'token=' . $this->session->data['token'] . $url, 'SSL');

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

$filter_data = array(
'sort' => $sort,
'order' => $order,
'start' => ($page - 1) * $this->config->get('config_limit_admin'),
'limit' => $this->config->get('config_limit_admin')
);

$manufacturer_total = $this->model_catalog_manufacturer->getTotalManufacturers();

$results = $this->model_catalog_manufacturer->getManufacturers($filter_data);

foreach ($results as $result) {
$data['manufacturers'][] = array(
'manufacturer_id' => $result['manufacturer_id'],
'name' => $result['name'],
'sort_order' => $result['sort_order'],
'edit' => $this->url->link('catalog/manufacturer/edit', 'token=' . $this->session->data['token'] . '&manufacturer_id=' . $result['manufacturer_id'] . $url, 'SSL')
);
}

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

$data['text_list'] = $this->language->get('text_list');
$data['text_no_results'] = $this->language->get('text_no_results');
$data['text_confirm'] = $this->language->get('text_confirm');

$data['column_name'] = $this->language->get('column_name');
$data['column_sort_order'] = $this->language->get('column_sort_order');
$data['column_action'] = $this->language->get('column_action');

$data['button_add'] = $this->language->get('button_add');
$data['button_edit'] = $this->language->get('button_edit');
$data['button_delete'] = $this->language->get('button_delete');

if (isset($this->error['warning'])) {
$data['error_warning'] = $this->error['warning'];
} else {
$data['error_warning'] = '';
}

if (isset($this->session->data['success'])) {
$data['success'] = $this->session->data['success'];

unset($this->session->data['success']);
} else {
$data['success'] = '';
}

if (isset($this->request->post['selected'])) {
$data['selected'] = (array)$this->request->post['selected'];
} else {
$data['selected'] = array();
}

$url = '';

if ($order == 'ASC') {
$url .= '&order=DESC';
} else {
$url .= '&order=ASC';
}

if (isset($this->request->get['page'])) {
$url .= '&page=' . $this->request->get['page'];
}

$data['sort_name'] = $this->url->link('catalog/manufacturer', 'token=' . $this->session->data['token'] . '&sort=name' . $url, 'SSL');
$data['sort_sort_order'] = $this->url->link('catalog/manufacturer', 'token=' . $this->session->data['token'] . '&sort=sort_order' . $url, 'SSL');

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

$pagination = new Pagination();
$pagination->total = $manufacturer_total;
$pagination->page = $page;
$pagination->limit = $this->config->get('config_limit_admin');
$pagination->url = $this->url->link('catalog/manufacturer', 'token=' . $this->session->data['token'] . $url . '&page={page}', 'SSL');

$data['pagination'] = $pagination->render();

$data['results'] = sprintf($this->language->get('text_pagination'), ($manufacturer_total) ? (($page - 1) * $this->config->get('config_limit_admin')) + 1 : 0, ((($page - 1) * $this->config->get('config_limit_admin')) > ($manufacturer_total - $this->config->get('config_limit_admin'))) ? $manufacturer_total : ((($page - 1) * $this->config->get('config_limit_admin')) + $this->config->get('config_limit_admin')), $manufacturer_total, ceil($manufacturer_total / $this->config->get('config_limit_admin')));

$data['sort'] = $sort;
$data['order'] = $order;

$data['header'] = $this->load->controller('common/header');
$data['column_left'] = $this->load->controller('common/column_left');
$data['footer'] = $this->load->controller('common/footer');

$this->response->setOutput($this->load->view('catalog/manufacturer_list.tpl', $data));
}

protected function getForm() {
//CKEditor
if ($this->config->get('config_editor_default')) {
$this->document->addScript('view/javascript/ckeditor/ckeditor.js');
$this->document->addScript('view/javascript/ckeditor/ckeditor_init.js');
}

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

$data['text_form'] = !isset($this->request->get['manufacturer_id']) ? $this->language->get('text_add') : $this->language->get('text_edit');
$data['text_enabled'] = $this->language->get('text_enabled');
$data['text_disabled'] = $this->language->get('text_disabled');
$data['text_default'] = $this->language->get('text_default');
$data['text_percent'] = $this->language->get('text_percent');
$data['text_amount'] = $this->language->get('text_amount');

$data['entry_name'] = $this->language->get('entry_name');
$data['entry_description'] = $this->language->get('entry_description');
$data['entry_meta_title'] = $this->language->get('entry_meta_title');
$data['entry_meta_h1'] = $this->language->get('entry_meta_h1');
$data['entry_meta_description'] = $this->language->get('entry_meta_description');
$data['entry_meta_keyword'] = $this->language->get('entry_meta_keyword');
$data['entry_keyword'] = $this->language->get('entry_keyword');
$data['entry_store'] = $this->language->get('entry_store');
$data['entry_keyword'] = $this->language->get('entry_keyword');
$data['entry_image'] = $this->language->get('entry_image');
$data['entry_sort_order'] = $this->language->get('entry_sort_order');
$data['entry_customer_group'] = $this->language->get('entry_customer_group');

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

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

if (isset($this->error['warning'])) {
$data['error_warning'] = $this->error['warning'];
} else {
$data['error_warning'] = '';
}

if (isset($this->error['name'])) {
$data['error_name'] = $this->error['name'];
} else {
$data['error_name'] = '';
}

if (isset($this->error['keyword'])) {
$data['error_keyword'] = $this->error['keyword'];
} else {
$data['error_keyword'] = '';
}

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

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

$data['breadcrumbs'][] = array(
'text' => $this->language->get('text_home'),
'href' => $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], 'SSL')
);

$data['breadcrumbs'][] = array(
'text' => $this->language->get('heading_title'),
'href' => $this->url->link('catalog/manufacturer', 'token=' . $this->session->data['token'] . $url, 'SSL')
);

if (!isset($this->request->get['manufacturer_id'])) {
$data['action'] = $this->url->link('catalog/manufacturer/add', 'token=' . $this->session->data['token'] . $url, 'SSL');
} else {
$data['action'] = $this->url->link('catalog/manufacturer/edit', 'token=' . $this->session->data['token'] . '&manufacturer_id=' . $this->request->get['manufacturer_id'] . $url, 'SSL');
}

$data['cancel'] = $this->url->link('catalog/manufacturer', 'token=' . $this->session->data['token'] . $url, 'SSL');

if (isset($this->request->get['manufacturer_id']) && ($this->request->server['REQUEST_METHOD'] != 'POST')) {
$manufacturer_info = $this->model_catalog_manufacturer->getManufacturer($this->request->get['manufacturer_id']);
}

$data['token'] = $this->session->data['token'];
$data['ckeditor'] = $this->config->get('config_editor_default');

$this->load->model('localisation/language');

$data['languages'] = $this->model_localisation_language->getLanguages();

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

if (isset($this->request->post['manufacturer_description'])) {
$data['manufacturer_description'] = $this->request->post['manufacturer_description'];
} elseif (isset($this->request->get['manufacturer_id'])) {
$data['manufacturer_description'] = $this->model_catalog_manufacturer->getManufacturerDescriptions($this->request->get['manufacturer_id']);
} else {
$data['manufacturer_description'] = array();
}

if (isset($this->request->post['name'])) {
$data['name'] = $this->request->post['name'];
} elseif (!empty($manufacturer_info)) {
$data['name'] = $manufacturer_info['name'];
} else {
$data['name'] = '';
}

$this->load->model('setting/store');

$data['stores'] = $this->model_setting_store->getStores();

if (isset($this->request->post['manufacturer_store'])) {
$data['manufacturer_store'] = $this->request->post['manufacturer_store'];
} elseif (isset($this->request->get['manufacturer_id'])) {
$data['manufacturer_store'] = $this->model_catalog_manufacturer->getManufacturerStores($this->request->get['manufacturer_id']);
} else {
$data['manufacturer_store'] = array(0);
}

if (isset($this->request->post['keyword'])) {
$data['keyword'] = $this->request->post['keyword'];
} elseif (!empty($manufacturer_info)) {
$data['keyword'] = $manufacturer_info['keyword'];
} else {
$data['keyword'] = '';
}

if (isset($this->request->post['image'])) {
$data['image'] = $this->request->post['image'];
} elseif (!empty($manufacturer_info)) {
$data['image'] = $manufacturer_info['image'];
} else {
$data['image'] = '';
}

$this->load->model('tool/image');

if (isset($this->request->post['image']) && is_file(DIR_IMAGE . $this->request->post['image'])) {
$data['thumb'] = $this->model_tool_image->resize($this->request->post['image'], 100, 100);
} elseif (!empty($manufacturer_info) && is_file(DIR_IMAGE . $manufacturer_info['image'])) {
$data['thumb'] = $this->model_tool_image->resize($manufacturer_info['image'], 100, 100);
} else {
$data['thumb'] = $this->model_tool_image->resize('no_image.png', 100, 100);
}

$data['placeholder'] = $this->model_tool_image->resize('no_image.png', 100, 100);

if (isset($this->request->post['sort_order'])) {
$data['sort_order'] = $this->request->post['sort_order'];
} elseif (!empty($manufacturer_info)) {
$data['sort_order'] = $manufacturer_info['sort_order'];
} else {
$data['sort_order'] = '';
}

$data['header'] = $this->load->controller('common/header');
$data['column_left'] = $this->load->controller('common/column_left');
$data['footer'] = $this->load->controller('common/footer');

$this->response->setOutput($this->load->view('catalog/manufacturer_form.tpl', $data));
}

protected function validateForm() {
if (!$this->user->hasPermission('modify', 'catalog/manufacturer')) {
$this->error['warning'] = $this->language->get('error_permission');
}

if ((utf8_strlen($this->request->post['name']) < 2) || (utf8_strlen($this->request->post['name']) > 64)) {
$this->error['name'] = $this->language->get('error_name');
}

if (utf8_strlen($this->request->post['keyword']) > 0) {
$this->load->model('catalog/url_alias');

$url_alias_info = $this->model_catalog_url_alias->getUrlAlias($this->request->post['keyword']);

if ($url_alias_info && isset($this->request->get['manufacturer_id']) && $url_alias_info['query'] != 'manufacturer_id=' . $this->request->get['manufacturer_id']) {
$this->error['keyword'] = sprintf($this->language->get('error_keyword'));
}

if ($url_alias_info && !isset($this->request->get['manufacturer_id'])) {
$this->error['keyword'] = sprintf($this->language->get('error_keyword'));
}

if ($this->error && !isset($this->error['warning'])) {
$this->error['warning'] = $this->language->get('error_warning');
}
}

if (utf8_strlen($this->request->post['keyword']) > 0) {
$this->load->model('catalog/url_alias');

$url_alias_info = $this->model_catalog_url_alias->getUrlAlias($this->request->post['keyword']);

if ($url_alias_info && isset($this->request->get['manufacturer_id']) && $url_alias_info['query'] != 'manufacturer_id=' . $this->request->get['manufacturer_id']) {
$this->error['keyword'] = sprintf($this->language->get('error_keyword'));
}

if ($url_alias_info && !isset($this->request->get['manufacturer_id'])) {
$this->error['keyword'] = sprintf($this->language->get('error_keyword'));
}
}

return !$this->error;
}

protected function validateDelete() {
if (!$this->user->hasPermission('modify', 'catalog/manufacturer')) {
$this->error['warning'] = $this->language->get('error_permission');
}

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

foreach ($this->request->post['selected'] as $manufacturer_id) {
$product_total = $this->model_catalog_product->getTotalProductsByManufacturerId($manufacturer_id);

if ($product_total) {
$this->error['warning'] = sprintf($this->language->get('error_product'), $product_total);
}
}

return !$this->error;
}

public function autocomplete() {
$json = array();

if (isset($this->request->get['filter_name'])) {
$this->load->model('catalog/manufacturer');

$filter_data = array(
'filter_name' => $this->request->get['filter_name'],
'start' => 0,
'limit' => 5
);

$results = $this->model_catalog_manufacturer->getManufacturers($filter_data);

foreach ($results as $result) {
$json[] = array(
'manufacturer_id' => $result['manufacturer_id'],
'name' => strip_tags(html_entity_decode($result['name'], ENT_QUOTES, 'UTF-8'))
);
}
}

$sort_order = array();

foreach ($json as $key => $value) {
$sort_order[$key] = $value['name'];
}

array_multisort($sort_order, SORT_ASC, $json);

$this->response->addHeader('Content-Type: application/json');
$this->response->setOutput(json_encode($json));
}
}

 

Прошу прощения за простыню кода, но не знаю какой именно кусок может быть нужен. Спасибо.

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


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

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

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

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

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

Вхід

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

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

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

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

Important Information

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