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

halfhope

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

    1 750
  • З нами

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

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

  1.  

    Спасибо большое, и ещё один вопрос. В документации к Moneymaker указано, что:

     

    начиная с версии 1.1.0 в шаблон в целях совместимости встроена собственная версия colorbox'а (плагин для показа всплывающих изображений), заменяющая стили стандартной версии, так что единственные файлы, которые будут перезаписаны - это содержимое папки catalog\view\javascript\jquery\colorbox (3 файла - loading.gif, colorbox.css и jquery.colorbox-min.js).

     
    и у вас:
     
    Модуль не заменяет какие либо исполняемые файлы. Исключение составляют файлы JavaScript библиотек для просмотра изображений. Поэтому первый шаг установки следует выполнять без замены файлов. Работает без vqmod. С версии 1.3 имеются изменения в лицензии для веб-студий и разработчиков. ялся.
     
    То есть, что-то да сколупнётся? Или проблем не должно быть?

     

     

    С 1.5.x проблем не будет если скопировать файлы на сервер без замены. Если ставите на 2.0, то из файла модификации (архив *.ocmod.zip) предварительно удалите colorbox, чтобы при установке он не заменился, в крайнем случае можно будет перезалить colorbox.

  2. Все еще жду, сам решения не нашёл (((

     

    Изменил код для того, чтобы отключать MCJ на определенных страницах по маске route. Тот код, что вставляли в index.php нужно заменить на этот:

    //MCJ
    //Список route в которых mcj будет отключен  
    $mcj_exclude = array('account/account', 'checkout/*');
    
    $mcj_on = true;
    foreach ($mcj_exclude as $key => $pattern) {
    	if (preg_match('/'.str_replace('/', '\/', $pattern).'/im', !isset($request->get['route']) ? 'common/home' : $request->get['route'])) {
    		$mcj_on = false;
    	}
    }
    if ($mcj_on && preg_match('/.*<\/head>/im', $response->output) && !defined('DIR_CATALOG')) {	
    	include 'system/library/mcj/mcj.opencart.php';
    	$mcj_oc = new mcj_opencart($registry, $response->output);
    	$response->output = $mcj_oc->output;
    }
    
    

    Вот здесь:

    $mcj_exclude = array('account/account', 'checkout/*');
    

    Нужно указать route к которых нужно отключить mcj.

  3. Рекомендую использовать Product Color Option. Не совсем правильно хранить название картинки в названии опции. Правильней будет создать доп поле в админке/бд и подкорректировать SQL запрос из функции addOption, из модели ModelCatalogOption для того чтобы хранить картинку. Это наиболее правильное решение, а то такой костыль получается, аж ходить неудобно будет.

     

    Кстати, как-то писал о том, что модуль Product Color Option может хранить одновременно 2 типа данных (изображение и цвет(текстовое поле)). Об этом писал вот здесь. Есть еще модуль Options Boost - тоже хорош. 

  4. https://opencartforum.com/topic/51819-решено-новый-модуль/?do=findComment&comment=454173

     

    Забыли про добавление(регистрацию) модуля через $this->model_extension_module->addModule

    if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
    	if (!isset($this->request->get['module_id'])) {
    		$this->model_extension_module->addModule('my_box', $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'));
    } 
    
  5. Мне нужно, добавить поддомен для в строку подключения стилей и яваскрипта вместо site.ru/js.js cdn.site.ru/js.js

     

    На вкладке "Основные" или "Общие" в настройках модуля есть настройка domain cdn, туда нужно ввести http://cdn.site.ru/

  6. Подскажите пожалуйста где искать.

     

    Выводит на том месте, где до этого был обработан первый css файл. Опишите конкретней задачу, может что-то более конкретное подскажу.

  7. Admin ModelCatalogProduct

    public function addProduct($data) {
    	$this->db->query("INSERT INTO " . DB_PREFIX . "product SET model = '" . $this->db->escape($data['model']) . "', sku = '" . $this->db->escape($data['sku']) . "', upc = '" . $this->db->escape($data['upc']) . "', ean = '" . $this->db->escape($data['ean']) . "', jan = '" . $this->db->escape($data['jan']) . "', isbn = '" . $this->db->escape($data['isbn']) . "', mpn = '" . $this->db->escape($data['mpn']) . "', location = '" . $this->db->escape($data['location']) . "', quantity = '" . (int)$data['quantity'] . "', minimum = '" . (int)$data['minimum'] . "', subtract = '" . (int)$data['subtract'] . "', stock_status_id = '" . (int)$data['stock_status_id'] . "', date_available = '" . $this->db->escape($data['date_available']) . "', manufacturer_id = '" . (int)$data['manufacturer_id'] . "', shipping = '" . (int)$data['shipping'] . "', price = '" . (float)$data['price'] . "', points = '" . (int)$data['points'] . "', weight = '" . (float)$data['weight'] . "', weight_class_id = '" . (int)$data['weight_class_id'] . "', length = '" . (float)$data['length'] . "', width = '" . (float)$data['width'] . "', height = '" . (float)$data['height'] . "', length_class_id = '" . (int)$data['length_class_id'] . "', status = '" . (int)$data['status'] . "', tax_class_id = '" . $this->db->escape($data['tax_class_id']) . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW()");
    
    	$product_id = $this->db->getLastId();
    
    	if (isset($data['image'])) {
    		$this->db->query("UPDATE " . DB_PREFIX . "product SET image = '" . $this->db->escape(html_entity_decode($data['image'], ENT_QUOTES, 'UTF-8')) . "' WHERE product_id = '" . (int)$product_id . "'");
    	}
    
    	foreach ($data['product_description'] as $language_id => $value) {
    		$this->db->query("INSERT INTO " . DB_PREFIX . "product_description SET product_id = '" . (int)$product_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', description = '" . $this->db->escape($value['description']) . "', tag = '" . $this->db->escape($value['tag']) . "'");
    	}
    
    	if (isset($data['product_store'])) {
    		foreach ($data['product_store'] as $store_id) {
    			$this->db->query("INSERT INTO " . DB_PREFIX . "product_to_store SET product_id = '" . (int)$product_id . "', store_id = '" . (int)$store_id . "'");
    		}
    	}
    
    	if (isset($data['product_attribute'])) {
    		foreach ($data['product_attribute'] as $product_attribute) {
    			if ($product_attribute['attribute_id']) {
    				$this->db->query("DELETE FROM " . DB_PREFIX . "product_attribute WHERE product_id = '" . (int)$product_id . "' AND attribute_id = '" . (int)$product_attribute['attribute_id'] . "'");
    
    				foreach ($product_attribute['product_attribute_description'] as $language_id => $product_attribute_description) {				
    					$this->db->query("INSERT INTO " . DB_PREFIX . "product_attribute SET product_id = '" . (int)$product_id . "', attribute_id = '" . (int)$product_attribute['attribute_id'] . "', language_id = '" . (int)$language_id . "', text = '" .  $this->db->escape($product_attribute_description['text']) . "'");
    				}
    			}
    		}
    	}
    
    	if (isset($data['product_option'])) {
    		foreach ($data['product_option'] as $product_option) {
    			if ($product_option['type'] == 'select' || $product_option['type'] == 'radio' || $product_option['type'] == 'checkbox' || $product_option['type'] == 'image') {
    				$this->db->query("INSERT INTO " . DB_PREFIX . "product_option SET product_id = '" . (int)$product_id . "', option_id = '" . (int)$product_option['option_id'] . "', required = '" . (int)$product_option['required'] . "'");
    
    				$product_option_id = $this->db->getLastId();
    
    				if (isset($product_option['product_option_value']) && count($product_option['product_option_value']) > 0 ) {
    					foreach ($product_option['product_option_value'] as $product_option_value) {
    						$this->db->query("INSERT INTO " . DB_PREFIX . "product_option_value SET product_option_id = '" . (int)$product_option_id . "', product_id = '" . (int)$product_id . "', option_id = '" . (int)$product_option['option_id'] . "', option_value_id = '" . (int)$product_option_value['option_value_id'] . "', quantity = '" . (int)$product_option_value['quantity'] . "', subtract = '" . (int)$product_option_value['subtract'] . "', price = '" . (float)$product_option_value['price'] . "', price_prefix = '" . $this->db->escape($product_option_value['price_prefix']) . "', points = '" . (int)$product_option_value['points'] . "', points_prefix = '" . $this->db->escape($product_option_value['points_prefix']) . "', weight = '" . (float)$product_option_value['weight'] . "', weight_prefix = '" . $this->db->escape($product_option_value['weight_prefix']) . "'");
    					} 
    				}else{
    					$this->db->query("DELETE FROM " . DB_PREFIX . "product_option WHERE product_option_id = '".$product_option_id."'");
    				}
    			} else { 
    				$this->db->query("INSERT INTO " . DB_PREFIX . "product_option SET product_id = '" . (int)$product_id . "', option_id = '" . (int)$product_option['option_id'] . "', option_value = '" . $this->db->escape($product_option['option_value']) . "', required = '" . (int)$product_option['required'] . "'");
    			}
    		}
    	}
    
    	if (isset($data['product_discount'])) {
    		foreach ($data['product_discount'] as $product_discount) {
    			$this->db->query("INSERT INTO " . DB_PREFIX . "product_discount SET product_id = '" . (int)$product_id . "', customer_group_id = '" . (int)$product_discount['customer_group_id'] . "', quantity = '" . (int)$product_discount['quantity'] . "', priority = '" . (int)$product_discount['priority'] . "', price = '" . (float)$product_discount['price'] . "', date_start = '" . $this->db->escape($product_discount['date_start']) . "', date_end = '" . $this->db->escape($product_discount['date_end']) . "'");
    		}
    	}
    
    	if (isset($data['product_special'])) {
    		foreach ($data['product_special'] as $product_special) {
    			$this->db->query("INSERT INTO " . DB_PREFIX . "product_special SET product_id = '" . (int)$product_id . "', customer_group_id = '" . (int)$product_special['customer_group_id'] . "', priority = '" . (int)$product_special['priority'] . "', price = '" . (float)$product_special['price'] . "', date_start = '" . $this->db->escape($product_special['date_start']) . "', date_end = '" . $this->db->escape($product_special['date_end']) . "'");
    		}
    	}
    
    	if (isset($data['product_image'])) {
    		foreach ($data['product_image'] as $product_image) {
    			$this->db->query("INSERT INTO " . DB_PREFIX . "product_image SET product_id = '" . (int)$product_id . "', image = '" . $this->db->escape(html_entity_decode($product_image['image'], ENT_QUOTES, 'UTF-8')) . "', sort_order = '" . (int)$product_image['sort_order'] . "'");
    		}
    	}
    
    	if (isset($data['product_download'])) {
    		foreach ($data['product_download'] as $download_id) {
    			$this->db->query("INSERT INTO " . DB_PREFIX . "product_to_download SET product_id = '" . (int)$product_id . "', download_id = '" . (int)$download_id . "'");
    		}
    	}
    
    	if (isset($data['product_category'])) {
    		foreach ($data['product_category'] as $category_id) {
    			$this->db->query("INSERT INTO " . DB_PREFIX . "product_to_category SET product_id = '" . (int)$product_id . "', category_id = '" . (int)$category_id . "'");
    		}
    	}
    
    	if (isset($data['product_filter'])) {
    		foreach ($data['product_filter'] as $filter_id) {
    			$this->db->query("INSERT INTO " . DB_PREFIX . "product_filter SET product_id = '" . (int)$product_id . "', filter_id = '" . (int)$filter_id . "'");
    		}
    	}
    
    	if (isset($data['product_related'])) {
    		foreach ($data['product_related'] as $related_id) {
    			$this->db->query("DELETE FROM " . DB_PREFIX . "product_related WHERE product_id = '" . (int)$product_id . "' AND related_id = '" . (int)$related_id . "'");
    			$this->db->query("INSERT INTO " . DB_PREFIX . "product_related SET product_id = '" . (int)$product_id . "', related_id = '" . (int)$related_id . "'");
    			$this->db->query("DELETE FROM " . DB_PREFIX . "product_related WHERE product_id = '" . (int)$related_id . "' AND related_id = '" . (int)$product_id . "'");
    			$this->db->query("INSERT INTO " . DB_PREFIX . "product_related SET product_id = '" . (int)$related_id . "', related_id = '" . (int)$product_id . "'");
    		}
    	}
    
    	if (isset($data['product_reward'])) {
    		foreach ($data['product_reward'] as $customer_group_id => $product_reward) {
    			$this->db->query("INSERT INTO " . DB_PREFIX . "product_reward SET product_id = '" . (int)$product_id . "', customer_group_id = '" . (int)$customer_group_id . "', points = '" . (int)$product_reward['points'] . "'");
    		}
    	}
    
    	if (isset($data['product_layout'])) {
    		foreach ($data['product_layout'] as $store_id => $layout) {
    			if ($layout['layout_id']) {
    				$this->db->query("INSERT INTO " . DB_PREFIX . "product_to_layout SET product_id = '" . (int)$product_id . "', store_id = '" . (int)$store_id . "', layout_id = '" . (int)$layout['layout_id'] . "'");
    			}
    		}
    	}
    
    	if ($data['keyword']) {
    		$this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'product_id=" . (int)$product_id . "', keyword = '" . $this->db->escape($data['keyword']) . "'");
    	}
    
    	if (isset($data['product_profiles'])) {
    		foreach ($data['product_profiles'] as $profile) {
    			$this->db->query("INSERT INTO `" . DB_PREFIX . "product_profile` SET `product_id` = " . (int)$product_id . ", customer_group_id = " . (int)$profile['customer_group_id'] . ", `profile_id` = " . (int)$profile['profile_id']);
    		}
    	} 
    
    	$this->cache->delete('product');
    }
    
  8. что делать с творением вьетнамских гениев?

     

    Есть desktop прога для смены кодировки файлов, называется UTFCast. Можно ей попробовать поискать файл с неправильной кодировкой.

  9. Исключите из возможных причин - дополнения браузера, такие как скачивалка от savefrom.net или tampermonkey. Проверяйте содержимое сессии на всех шагах добавления товара. На месте виднее.

  10. удалить их нельзя. Они сами чистятся? Или их можно как-то отключить?

     

    Если на сервере включено архивирование, то они будут архивированы. Удалять не рекомендую, их никто не удаляет. Если вас взломают, то они будут весьма кстати. 

  11.  

    И еще вопрос.

    site.ru 193.169.125.153 - - [06/Oct/2015:08:16:21 +0300] "GET /index.php?route=product/product&path=25&product_id=87 HTTP/1.1" 200 18822 "http://site.ru/one/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36"

    site.ru 193.169.125.153 - - [06/Oct/2015:08:16:22 +0300] "GET /index.php?route=product/product/review&product_id=87 HTTP/1.1" 200 643 "http://site.ru/index.php?route=product/product&path=25&product_id=87" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36"

    Начало писать в логи на хосте вот такую штуку после настройки ЧПУ. Что это может быть? В настройках ничего не выставлял. Статус 200 - знач все ок. Зачем оно пишет в логи?

     

     

    Это access логи сервера, туда все пишется.

  12. Подскажите как заблочить ссылки в опенкарт на неактивные модули. К примеру если в строке запроса прописать адрес входа/регистрации, чтобы перекидывало на страницу 404, так как данные модули не задействованы.

     

    Удалите данные разделы (контроллеры) в каталоге catalog/controller/имя/раздела.php

  13. <?php if ($product_id == 51) { ?>
    <object id="FlashID2" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="350" height="300">
      <param name="movie" value="/comfortu.swf">
      <param name="quality" value="high">
      <param name="wmode" value="transparent">
      <param name="swfversion" value="11.0.0.0">
      <param name="expressinstall" value="Scripts/expressInstall.swf">
    </object>
    <script type="text/javascript">
    swfobject.registerObject("FlashID2");
    </script>
    <?php } ?> 
    
    

    Только без квадратных скобок.

  14. День добрый!

    Понравилась именно ваша галерея, простотой и понятностью.

    Приобрел, немного погонял, возник вопрос (или предложение)

    создаю галереи: джинсы1, джинсы2, джинсы3....майка1, майка2, майка3, ....куртка1, куртка2, куртка3.

    Создаю модули галерей: джинсы, майки, куртки

     

    Вопрос, можно ли сделать модуль модулей? т.е.реализовать вложенность.

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

    типа так:

     

    Галерии

    джинсы

    майки

    куртки 

     

    Я понял о чем вы говорите. Пока что модуль не позволяет сделать вложенность, т.к. есть только один раздел галерей. Приму предложение к сведению и скорей всего реализую в следующей версии. 

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

Important Information

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