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

Baco

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

    2 247
  • З нами

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

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

  1. Вот функция под спойлером моего файла:

    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']) . "'");
    		}
    		
    		foreach ($data['product_description'] as $language_id => $value) { 
    			$this->db->query("UPDATE " . DB_PREFIX . "product_description SET u_title = '" . $this->db->escape($value['u_title']) . "', u_h1 = '". $this->db->escape($value['u_h1']) ."',u_h2 = '". $this->db->escape($value['u_h2']) ."' WHERE product_id = '". (int)$product_id ."' AND language_id = '". (int)$language_id ."'");
    		}
    		
    		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['main_category_id']) && $data['main_category_id'] > 0) {
    			$this->db->query("DELETE FROM " . DB_PREFIX . "product_to_category WHERE product_id = '" . (int)$product_id . "' AND category_id = '" . (int)$data['main_category_id'] . "'");
    			$this->db->query("INSERT INTO " . DB_PREFIX . "product_to_category SET product_id = '" . (int)$product_id . "', category_id = '" . (int)$data['main_category_id'] . "', main_category = 1");
    		} elseif (isset($data['product_category'][0])) {
    			$this->db->query("UPDATE " . DB_PREFIX . "product_to_category SET main_category = 1 WHERE product_id = '" . (int)$product_id . "' AND category_id = '" . (int)$data['product_category'][0] . "'");
    		}
    		
    		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']) . "'");
    		}
    		$this->cache->delete('url.alias');
    		$this->cache->delete('seo_url');				
    		$this->cache->delete('product');
    		return $product_id;
    	}
    
  2. Не выводит текст "Об успешном завершении заказа", можно в контроллере поставить заглушку (если у вас один язык):

    Открыть файл: catalog/controller/checkout/success.php

    в нём находите строки:

    if ($this->customer->isLogged()) {
        		$this->data['text_message'] = sprintf($this->language->get('text_customer'), $this->url->link('account/account', '', 'SSL'), $this->url->link('account/order', '', 'SSL'), $this->url->link('account/download', '', 'SSL'), $this->url->link('information/contact'));
    		} else {
        		$this->data['text_message'] = sprintf($this->language->get('text_guest'), $this->url->link('information/contact'));
    		}
    

    меняете на:

    /*if ($this->customer->isLogged()) {
        		$this->data['text_message'] = sprintf($this->language->get('text_customer'), $this->url->link('account/account', '', 'SSL'), $this->url->link('account/order', '', 'SSL'), $this->url->link('account/download', '', 'SSL'), $this->url->link('information/contact'));
    		} else {
        		$this->data['text_message'] = sprintf($this->language->get('text_guest'), $this->url->link('information/contact'));
    		}*/
    $this->data['text_message'] = 'Спасибо за заказ, администрация свяжется с Вами по указанным контактам при оформлении.';
    
  3. Хороший вопрос. Писать конструкцию нового велосипеда - резона нет, отдавать приоритет сео_про - так же не оптимальное решение, хотя он и тюнингован на главную категорию, которая убирает дубли ну и добавлено кеширование кейвордов, сам по его алгоритму написал тюнингованый контроллер для "брокарта", автор же "Новости, блоги, галерея", написал свой, совершенно независимый ...  контроллер же по умолчанию - неактуален по грамотности своей, посему вывод:

    "Призываю сделать общий контроллер, который подогнать к стандарту использования во всех сборках\оригинале, где не нужно будет искать допилы и будет единый код."

  4. Ставите дополнение, которое выложено выше, товар стоимостью - 1000 р., опция - 1000 р., если покупают товар - цена 1000, если с опцией, цена в корзине - 2000 р., автономной работы опции от товара - не существует, так как объект привязки именно товар (ООП).

  5. Смотря чем парсены, обычно в процессе парсинга можно "реплейсить" все данные и вносить в базу, чистый контент, но, я так понял, что "хотелка" добавить <p>, появилась после процесса парсинга.

  6. 
    

    <?xml version="1.0" encoding="UTF-8"?>

    <modification>

    <id>Show Full Option Price</id>

    <version>156.1</version>

    <vqmver>2.4.1</vqmver>

    <author>Qphoria</author>

    <file name="catalog/controller/product/product.php">

    <operation>

    <search position="after"><![CDATA[

    foreach ($option['option_value'] as $option_value)

    ]]></search>

    <add><![CDATA[

    if ($option_value['price_prefix'] == '-') {

    $option_value['price'] = (($product_info['special'] ? ($product_info['special'] - $option_value['price']) : ($product_info['price']) - $option_value['price']));

    } else {

    $option_value['price'] = (($product_info['special'] ? ($product_info['special'] + $option_value['price']) : ($product_info['price']) + $option_value['price']));

    }

    $option_value['price_prefix'] = '';

    ]]></add>

    </operation>

    </file>

    </modification>

  7. в файле header.tpl найти:

    <div id="search">
     
        <input type="text" name="search" value="Поиск" onclick="this.value = ''" onblur="if(this.value=='') { this.value = 'Поиск'}" ;="">
         <button type="submit" title="Go" class="search-btn button-search"><span>Go</span></button>
      </div>
    

    и в этом участке заменить name="search" на name="filter_name"

  8. сам так и не разобрался, а сколько будет стоит что бы вы сделали?

    Зачем сразу переходить на тугрики, задайте правильно вопрос, напишите с какой трудностью столкнулись, распишем пошагово всё подробно и деньги сэкономите и другим в науку будет.

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

Important Information

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