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

Raensul

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

    1 273
  • З нами

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

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

  1. Еще раз (в очередной) спасибо автору, что помог обновить модуль до последней версии и устранить некоторые несовместимости ввиду особенностей магазина.

    Оперативно и качественно. Фильтр совершенствуется, поддержка отличная - хорошая связка:)

  2. добрый день!

    стоит версия 4.18.7.2 на окстор 2.1

    понадобилась мультиязычность.

    1. в опциях фильтра она вроде есть, один момент непонятен. Если в фильтре на вкладке "значения" в поле для русского языка стоит, например, "3 месяца", то при вводе в поле для украинского языка "3 місяці" это значение тут же вводится и в поле для русского языка джаваскриптом по ходу. Это касается только значений, начинающихся с цифры.

    2. нет мультиязычности в посадочных страницах. на демо смотрю она есть. это какая версия, как обновиться?

     

    UPD. автор ответил в личку оперативно и емко, спасибо.

  3. Это 

     

    и еще, модуль переводит уже набитые товары? сейчас включил украинский язык, проверил - в админке во вкладке "украинский" все данные уже заполнены на русском. Нужно сначала все удалить, а потом жать кнопку? Или модуль сам заменит содержимое?

  4. Приветствую.

    Пытаюсь тут портировать один модуль под версию 2.1, модуль давно куплен, поддержки его давно нет, автор код открыл.

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

    ошибок в логах не вижу, не могу понять куда смотреть.

    Может уважаемое сообщество натолкнет на правильный путь?

  5. 6 минут назад, ArtemPitov сказал:

    У вас попросту сжатия выключено, правильнее всего его там править http://php.net/manual/ru/zlib.configuration.php 

    Спасибо.

    это локальный сервер.

    на хостинге, наверное, я бы и не заметил, т.к. там обычно включено.

    всем спасибо за пополнение копилки в голове!

  6. @ArtemPitov это тоже сработало, спасибо.

     

    4 минуты назад, ArtemPitov сказал:

    Заголовки ушли что контент кодируется а он не кодируется.

    это можно исправить в контроллере, чтобы не трогать php.ini?

     

    или все же тут вопрос в правильном использовании $setting в контроллере?

  7. 3 минуты назад, ArtemPitov сказал:

    Уровень GZIP сжатия: 0 в настройках магазина 

     

     

    спасибо, это помогло.

    можете подсказать, в чем была проблема?

    там не так много данных для сжатия было... или дело в самом архиваторе?

    и как избежать этого для магазинов, где включено сжатие?

  8. проблема в том, что ошибку пых не выдает, страница ложится с ошибкой:

    НЕТ СВЯЗИ С САЙТОМ

    ERR_CONTENT_DECODING_FAILED

    Если бы пых выдал ошибку - хотя бы понятно было, откуда ноги растут...

    а может я не правильно этот массив использовать пытаюсь?

  9. 3 минуты назад, ArtemPitov сказал:

    Ну тогда покажите контролеры 

    Спойлер
    
    <?php
    class ControllerModuleCats extends Controller {
    	public function index($setting) {
            $this->load->language('module/cats');
            $this->document->addStyle('catalog/view/theme/default/stylesheet/cats.css');
            $this->load->model('tool/image');
    
    		$data['heading_title'] = $this->language->get('heading_title');
    
    		if (isset($this->request->get['path'])) {
    			$parts = explode('_', (string)$this->request->get['path']);
    		} else {
    			$parts = array();
    		}
    
    		if (isset($parts[0])) {
    			$data['category_id'] = $parts[0];
    		} else {
    			$data['category_id'] = 0;
    		}
    
    		if (isset($parts[1])) {
    			$data['child_id'] = $parts[1];
    		} else {
    			$data['child_id'] = 0;
    		}
    
    		$this->load->model('catalog/category');
    
    		$this->load->model('catalog/cats');
    
    		$this->load->model('catalog/product');
    
    		$data['categories'] = array();
    
    		$categories = $this->model_catalog_cats->getHomeCategories(0);
    
    		foreach ($categories as $category) {
    			$filter_data = array(
    				'filter_category_id'  => $category['category_id'],
    				'filter_sub_category' => true
    			);
                $category_info = $this->model_catalog_category->getCategory($category['category_id']);
    
    			$data['categories'][] = array(
    				'category_id' => $category['category_id'],
    				'name'        => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
    				'href'        => $this->url->link('product/category', 'path=' . $category['category_id']),
                    'icon'        => $category['keyword'],
                    'image'       => $this->model_tool_image->resize($category_info['image'],$this->config->get('config_image_additional_width'), $this->config->get('config_image_additional_height'))
    
    			);
    
    
    		}
    
    		if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/cats.tpl')) {
    			return $this->load->view($this->config->get('config_template') . '/template/module/cats.tpl', $data);
    		} else {
    			return $this->load->view('default/template/module/cats.tpl', $data);
    		}
    	}
    }

     

     

     

    Спойлер
    
    <?php
    class ControllerModuleCats extends Controller {
    	private $error = array();
    
    	public function index() {
    		$this->load->language('module/cats');
    
    		$this->document->setTitle($this->language->get('heading_title'));
    
    		$this->load->model('setting/setting');
    
            $this->load->model('extension/module');
    
    		if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
                if (!isset($this->request->get['module_id'])) {
                    $this->model_extension_module->addModule('cats', $this->request->post);
                } else {
                    $this->model_extension_module->editModule($this->request->get['module_id'], $this->request->post);
                }
                
    			$this->session->data['success'] = $this->language->get('text_success');
    
    			$this->response->redirect($this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL'));
    		}
    
    		$data['heading_title'] = $this->language->get('heading_title');
    
    		$data['text_edit'] = $this->language->get('text_edit');
    		$data['text_enabled'] = $this->language->get('text_enabled');
    		$data['text_disabled'] = $this->language->get('text_disabled');
    
    		$data['entry_status'] = $this->language->get('entry_status');
    
    		$data['button_save'] = $this->language->get('button_save');
    		$data['button_cancel'] = $this->language->get('button_cancel');
    		$data['entry_name'] = $this->language->get('entry_name');
    		$data['entry_limit'] = $this->language->get('entry_limit');
    
    		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'] = '';
            }
    
    		$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('text_module'),
    			'href' => $this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL')
    		);
    
    		$data['breadcrumbs'][] = array(
    			'text' => $this->language->get('heading_title'),
    			'href' => $this->url->link('module/cats', 'token=' . $this->session->data['token'], 'SSL')
    		);
    //
            if (!isset($this->request->get['module_id'])) {
                $data['action'] = $this->url->link('module/cats', 'token=' . $this->session->data['token'], 'SSL');
            } else {
                $data['action'] = $this->url->link('module/cats', 'token=' . $this->session->data['token'] . '&module_id=' . $this->request->get['module_id'], 'SSL');
            }
    
    		$data['cancel'] = $this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL');
    //
            if (isset($this->request->get['module_id']) && ($this->request->server['REQUEST_METHOD'] != 'POST')) {
                $module_info = $this->model_extension_module->getModule($this->request->get['module_id']);
            }
    //
            if (isset($this->request->post['name'])) {
                $data['name'] = $this->request->post['name'];
            } elseif (!empty($module_info)) {
                $data['name'] = $module_info['name'];
            } else {
                $data['name'] = '';
            }
    //
            if (isset($this->request->post['limit'])) {
                $data['limit'] = $this->request->post['limit'];
            } elseif (!empty($module_info)) {
                $data['limit'] = $module_info['limit'];
            } else {
                $data['limit'] = 5;
            }
    //
            if (isset($this->request->post['status'])) {
                $data['status'] = $this->request->post['status'];
            } elseif (!empty($module_info)) {
                $data['status'] = $module_info['status'];
            } else {
                $data['status'] = '';
            }
    
    		$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('module/cats.tpl', $data));
    	}
    
    	protected function validate() {
    		if (!$this->user->hasPermission('modify', 'module/cats')) {
    			$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');
            }
    
    		return !$this->error;
    	}
    }

     

     

     

     

  10. 24 минуты назад, ibond сказал:

    Туда setting от модуля приходит?

    подскажите, плз, как посмотреть?

    var_dump($setting_info);

    тоже приводит к прекращению работы сайта...

     

     

    @ArtemPitov в макете выведено. модуль ведь отображается как надо если не использовать $setting. Сайт перестает работать только при попытке обращения к этому массиву.

  11. хм...

    да собсно если в стоковых latest сделать var_dump($setting) - то все тоже летит к чертям... при этом ниже:

    $filter_data = array(
       'sort'  => 'p.date_added',
       'order' => 'DESC',
       'start' => 0,
       'limit' => $setting['limit']
    );

    и все работает....

    но если попытаться написать хотя бы

    echo $setting['limit']; - все тоже плохо

  12. модуль включен, он отображается во фронте, если я не использую $setting.

    но в этом массиве по идее у меня limit для ограничения кол-ва вывода, и вот при попытке получить этот массив ничего не получается.

    а какие пути смотреть? я все делал по аналогии с latest, вроде все так же прописано, только вместо latest пишу свой модуль

  13. Добрый день, уважаемые форумчане!

    Пожалуйста, помогите понять, почему я не могу получить $setting в контроллере фронта:

    public function index($setting) {
    var_dump($setting);

    получаю ошибку...

     

    в контроллере админки пытаюсь так:

    if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
                if (!isset($this->request->get['module_id'])) {
                    $this->model_extension_module->addModule('cats', $this->request->post);
                } else {
                    $this->model_extension_module->editModule($this->request->get['module_id'], $this->request->post);
                }
    
    			$this->session->data['success'] = $this->language->get('text_success');
    
    			$this->response->redirect($this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL'));
    		}

    и так 

    if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
    			$this->model_setting_setting->editSetting('category', $this->request->post);
    
    			$this->session->data['success'] = $this->language->get('text_success');
    
    			$this->response->redirect($this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL'));
    		}

    по примеру соседних контроллеров.

    В админке модуль нормально устанавливается, выводится на фронте, если не пытаться достучаться до $setting. В таблице oc_module модуль записывается, где в поле setting - записаны настройки модуля.

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

    Может ли кто разъяснить, что я не правильно понимаю?

  14. Цитата

    http://site.ru/yandexbuy/cart наоборот перекинет на http://site.ru/index.php?route=yandexbuy/cart

    Цитата

    RewriteRule ^yandexbuy/([^?]*)$ index.php?route=yandexbuy/$1 [L,QSA]

    ну вроде все согласно правилу...

    т.е. при попытке захода на страницу http://site.ru/yandexbuy/xxx посетителя перекинет на http://site.ru/index.php?route=yandexbuy/xxx - согласно правилу, что у вас прописано.

  15. а как оценивается магазин?

    вот допустим приносит он чистой прибыли 2к у.е. в мес.

    и это еще не полный его потенциал использован.

    как его оценить?

  16. это бесполезно, кому надо - контент перетянут все равно.

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

    а тексты все равно спарсят, кому очень надо

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

Important Information

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