Перейти к содержанию

Рекомендуемые сообщения

Добрый день.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Show create table oc_manufacturer

Show create table oc_manufacturer_description

 

/catalog/model/catalogt/manufacturer.php

 

Покажите

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты


<?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">

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вчера все это было. Сегодня ночью залили товар и они пропали

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так у вас нет и картинок!!!

Т.е. спсиок есть, а все остальное- сломалось!

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так у вас нет и картинок!!!

Т.е. спсиок есть, а все остальное- сломалось!

Картинки я еще не вставлял просто, поэтому их нет

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Суть - имеется 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 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.