Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Ошибка при добавление товара


Recommended Posts

Здравствуйте Уважаемые пользователи форума!

Столкнулся с проблемой: выскакивает ошибка при попытке добавить довар:

Notice: Undefined index: manufacturer_id in /var/www/***/vqmod/vqcache/vq2-admin_controller_catalog_manufacturer.php on line 43Warning: Cannot modify header information - headers already sent by (output started at /var/www/***/admin/index.php:83) in /var/www/***/vqmod/vqcache/vq2-system_engine_controller.php on line 28Warning: Cannot modify header information - headers already sent by (output started at /var/www/***/admin/index.php:83) in /var/www/***/vqmod/vqcache/vq2-system_engine_controller.php on line 29
пытался найти на этом форуме ответ ,но так и не смог, гугл тоже мне не помог. Ошибка появилась после установки vQmod 2.1.7

такая же ошибка выскакивает при добавление производителей.

двиг сайта ostore 1.5.2.1

заранее спасибо

Link to comment
Share on other sites


Непроиндексирована переменная manufacturer_id в файле по адресу admincontrollercatalogmanufacturer.php, отправьте весь код под спойлером из файла /vqmod/vqcache/vq2-admin_controller_catalog_manufacturer.php, попробуем сообразить чего не хватает в коде.

  • +1 1
Link to comment
Share on other sites

пожалуйста:

<?php

class ControllerCatalogManufacturer extends Controller {

private $error = array();

public function index() {

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

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

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

$this->getList();

}

public function insert() {

$this->load->language('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'];

}

if(isset($this->request->post['apply']) and $this->request->post['apply'])

$this->redirect($this->url->link('catalog/manufacturer/update', 'token=' . $this->session->data['token'] . '&manufacturer_id=' . $this->request->get['manufacturer_id'] . $url, 'SSL'));

else

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

}

$this->getForm();

}

public function update() {

$this->load->language('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'];

}

if(isset($this->request->post['apply']) and $this->request->post['apply'])

$this->redirect($this->url->link('catalog/manufacturer/update', 'token=' . $this->session->data['token'] . '&manufacturer_id=' . $this->request->get['manufacturer_id'] . $url, 'SSL'));

else

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

}

$this->getForm();

}

public function delete() {

$this->load->language('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'];

}

if(isset($this->request->post['apply']) and $this->request->post['apply'])

$this->redirect($this->url->link('catalog/manufacturer/update', 'token=' . $this->session->data['token'] . '&manufacturer_id=' . $this->request->get['manufacturer_id'] . $url, 'SSL'));

else

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

}

$this->getList();

}

private 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'];

}

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

$this->data['breadcrumbs'][] = array(

'text' => $this->language->get('text_home'),

'href' => $this->url->link('common/home', 'token=' . $this->session->data['token'], 'SSL'),

'separator' => false

);

$this->data['breadcrumbs'][] = array(

'text' => $this->language->get('heading_title'),

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

'separator' => ' :: '

);

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

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

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

$data = array(

'sort' => $sort,

'order' => $order,

'start' => ($page - 1) * $this->config->get('config_admin_limit'),

'limit' => $this->config->get('config_admin_limit')

);

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

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

foreach ($results as $result) {

$action = array();

$action[] = array(

'text' => $this->language->get('text_edit'),

'href' => $this->url->link('catalog/manufacturer/update', 'token=' . $this->session->data['token'] . '&manufacturer_id=' . $result['manufacturer_id'] . $url, 'SSL')

);

$this->data['manufacturers'][] = array(

'manufacturer_id' => $result['manufacturer_id'],

'name' => $result['name'],

'sort_order' => $result['sort_order'],

'selected' => isset($this->request->post['selected']) && in_array($result['manufacturer_id'], $this->request->post['selected']),

'action' => $action

);

}

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

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

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

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

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

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

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

if (isset($this->error['warning'])) {

$this->data['error_warning'] = $this->error['warning'];

} else {

$this->data['error_warning'] = '';

}

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

$this->data['success'] = $this->session->data['success'];

unset($this->session->data['success']);

} else {

$this->data['success'] = '';

}

$url = '';

if ($order == 'ASC') {

$url .= '&order=DESC';

} else {

$url .= '&order=ASC';

}

if (isset($this->request->get['page'])) {

$url .= '&page=' . $this->request->get['page'];

}

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

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

$pagination->text = $this->language->get('text_pagination');

$pagination->url = $this->url->link('catalog/manufacturer', 'token=' . $this->session->data['token'] . $url . '&page={page}', 'SSL');

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

$this->data['sort'] = $sort;

$this->data['order'] = $order;

$this->template = 'catalog/manufacturer_list.tpl';

$this->children = array(

'common/header',

'common/footer'

);

$this->response->setOutput($this->render());

}

private function getForm() {

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

if (isset($this->error['warning'])) {

$this->data['error_warning'] = $this->error['warning'];

} else {

$this->data['error_warning'] = '';

}

if (isset($this->error['name'])) {

$this->data['error_name'] = $this->error['name'];

} else {

$this->data['error_name'] = '';

}

$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->data['breadcrumbs'] = array();

$this->data['breadcrumbs'][] = array(

'text' => $this->language->get('text_home'),

'href' => $this->url->link('common/home', 'token=' . $this->session->data['token'], 'SSL'),

'separator' => false

);

$this->data['breadcrumbs'][] = array(

'text' => $this->language->get('heading_title'),

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

'separator' => ' :: '

);

if (!isset($this->request->get['manufacturer_id'])) {

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

} else {

$this->data['action'] = $this->url->link('catalog/manufacturer/update', 'token=' . $this->session->data['token'] . '&manufacturer_id=' . $this->request->get['manufacturer_id'] . $url, 'SSL');

}

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

$this->data['token'] = $this->session->data['token'];

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']);

}

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

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

if (isset($this->request->post['manufacturer_description'])) {

$this->data['manufacturer_description'] = $this->request->post['manufacturer_description'];

} elseif (!empty($manufacturer_info)) {

$this->data['manufacturer_description'] = $this->model_catalog_manufacturer->getManufacturerDescriptions($this->request->get['manufacturer_id']);

} else {

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

}

if (isset($this->request->post['name'])) {

$this->data['name'] = $this->request->post['name'];

} elseif (!empty($manufacturer_info)) {

$this->data['name'] = $manufacturer_info['name'];

} else {

$this->data['name'] = '';

}

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

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

if (isset($this->request->post['manufacturer_store'])) {

$this->data['manufacturer_store'] = $this->request->post['manufacturer_store'];

} elseif (isset($this->request->get['manufacturer_id'])) {

$this->data['manufacturer_store'] = $this->model_catalog_manufacturer->getManufacturerStores($this->request->get['manufacturer_id']);

} else {

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

}

if (isset($this->request->post['keyword'])) {

$this->data['keyword'] = $this->request->post['keyword'];

} elseif (!empty($manufacturer_info)) {

$this->data['keyword'] = $manufacturer_info['keyword'];

} else {

$this->data['keyword'] = '';

}

if (isset($this->request->post['image'])) {

$this->data['image'] = $this->request->post['image'];

} elseif (!empty($manufacturer_info)) {

$this->data['image'] = $manufacturer_info['image'];

} else {

$this->data['image'] = '';

}

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

if (!empty($manufacturer_info) && $manufacturer_info['image'] && file_exists(DIR_IMAGE . $manufacturer_info['image'])) {

$this->data['thumb'] = $this->model_tool_image->resize($manufacturer_info['image'], 100, 100);

} else {

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

}

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

if (isset($this->request->post['sort_order'])) {

$this->data['sort_order'] = $this->request->post['sort_order'];

} elseif (!empty($manufacturer_info)) {

$this->data['sort_order'] = $manufacturer_info['sort_order'];

} else {

$this->data['sort_order'] = '';

}

$this->template = 'catalog/manufacturer_form.tpl';

$this->children = array(

'common/header',

'common/footer'

);

$this->response->setOutput($this->render());

}

private function validateForm() {

if (!$this->user->hasPermission('modify', 'catalog/manufacturer')) {

$this->error['warning'] = $this->language->get('error_permission');

}

if ((utf8_strlen($this->request->post['name']) < 3) || (utf8_strlen($this->request->post['name']) > 64)) {

$this->error['name'] = $this->language->get('error_name');

}

if (!$this->error) {

return true;

} else {

return false;

}

}

private 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);

}

}

if (!$this->error) {

return true;

} else {

return false;

}

}

}

?>

И вот такое вылазиет:

Notice: Undefined index: product_id in /var/www/***/vqmod/vqcache/vq2-admin_controller_catalog_product.php on line 63Warning: Cannot modify header information - headers already sent by (output started at /var/www/***/admin/index.php:83) in /var/www/***/vqmod/vqcache/vq2-system_engine_controller.php on line 28Warning: Cannot modify header information - headers already sent by (output started at /var/www/***/admin/index.php:83) in /var/www/***/vqmod/vqcache/vq2-system_engine_controller.php on line 29
Link to comment
Share on other sites


Попробуйте перезаписать участок кода в файле admincontrollercatalogmanufacturer.php на :

public function insert() {
  $this->load->language('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->redirect($this->url->link('catalog/manufacturer', 'token=' . $this->session->data['token'] . $url, 'SSL'));
  }
   
	 $this->getForm();
   }
Или удалите их папки ВКмод, файл, который отвечает за добавление кнопки "Применить" в админке...
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

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.