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

Несовместимость модулей


Recommended Posts

Всем привет

установил модуль всплывающей выбор опций 2.х все прекрасно работало потом я установил модуль Всплывающая корзина с заменой кнопки  и модуль перестал работать

что то провокует несовместимость
возможно подскажете, как это поправить?

Надіслати
Поділитися на інших сайтах


8 минут назад, agefremov сказал:

Смотреть журнал ошибок ОС и модификаторов.

 

вот мой

Спойлер

2017-08-18 16:50:11 - MOD: Modification Default

FILE: system/engine/action.php
REGEX: ~(require|include)(_once)?\(([^)]+)~
LINE: 46

FILE: system/engine/loader.php
REGEX: ~(require|include)(_once)?\(([^)]+)~
LINE: 54
LINE: 113
LINE: 125
LINE: 170

FILE: system/library/config.php
REGEX: ~(require|include)(_once)?\(([^)]+)~
LINE: 28

FILE: system/library/language.php
REGEX: ~(require|include)(_once)?\(([^)]+)~
LINE: 43
LINE: 45
LINE: 54
LINE: 56
LINE: 65
LINE: 67

FILE: system/library/template/php.php
REGEX: ~(require|include)(_once)?\(([^)]+)~
LINE: 23

FILE: system/library/template/tiwg.php
REGEX: ~(require|include)(_once)?\(([^)]+)~
LINE: 29
----------------------------------------------------------------
MOD: CMS

FILE: catalog/view/theme/default/template/common/header.tpl
CODE: <base href="<?php echo $base; ?>" />
LINE: 20

FILE: catalog/view/theme/default/template/common/footer.tpl
CODE: <li><a href="<?php echo $special; ?>"><?php echo $text_special; ?></a></li>
LINE: 29
----------------------------------------------------------------
MOD: PopUpCart Extended for OpenCart 2.3

FILE: system/library/cart/cart.php
CODE: $product_data[] = array(
LINE: 246
CODE: $product_query->row['minimum'],
LINE: 260

FILE: catalog/controller/common/footer.php
CODE: $this->load->language('common/footer');
LINE: 11
----------------------------------------------------------------
MOD: Custom Quick Checkout

FILE: catalog/controller/checkout/checkout.php
CODE: if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/checkout/checkout.tpl')) {
NOT FOUND - OPERATION SKIPPED!
CODE: $this->response->setOutput($this->load->view('checkout/checkout', $data));
LINE: 100
CODE: $data['header'] = $this->load->controller('common/header');
LINE: 103

FILE: system/library/cart/tax.php
CODE: final class Tax {
LINE: 13
----------------------------------------------------------------
MOD: Local copy OCMOD by iSenseLabs

FILE: admin/controller/extension/installer.php
CODE: 'url'  => str_replace('&amp;', '&', $this->url->link('extension/installer/ftp', 'token=' . $this->session->data['token'],
LINE: 136
CODE: public function unzip() {
LINE: 297
----------------------------------------------------------------
MOD: Pop-up options

FILE: catalog/controller/checkout/cart.php
CODE: $json['redirect'] = str_replace('&amp;', '&', $this->url->link('product/product', 'product_id=' . $this->request->post['product_id']));
LINE: 404
----------------------------------------------------------------
MOD: Site Rating

FILE: admin/controller/common/column_left.php
CODE: if ($this->user->hasPermission('access', 'catalog/information')) {
LINE: 151

FILE: catalog/controller/extension/feed/google_sitemap.php
CODE: $output .= '</urlset>';
LINE: 69

FILE: catalog/controller/information/sitemap.php
CODE: $data['informations'] = array();
LINE: 98
----------------------------------------------------------------
MOD: Удаление модулей
CODE: $data['header'] = $this->load->controller('common/header');
LINE: 55
CODE: $data['token'] = $this->session->data['token'];
LINE: 47
CODE: move_uploaded_file($this->request->files['file']['tmp_name'], $file);
LINE: 124
LINE: 162
CODE: $zip_name = zip_entry_name($entry);
LINE: 227
CODE: $json['success'] = $this->language->get('text_success');
LINE: 751
CODE: $json['error'] = sprintf($this->language->get('error_exists'), $modification_info['name']);
LINE: 628
CODE: public function unzip() {
LINE: 512
CODE: 'url'  => str_replace('&amp;', '&', $this->url->link('extension/installer/ftp', 'token=' . $this->session->data['token'], 'SSL')),
NOT FOUND - OPERATION SKIPPED!
CODE: 'url'  => str_replace('&amp;', '&', $this->url->link('extension/installer/ftp', 'token=' . $this->session->data['token'], true)),
NOT FOUND - OPERATION SKIPPED!
CODE: 'url'  => str_replace('&amp;', '&', $this->url->link('extension/installer/localcopy', 'token=' . $this->session->data['token'], 'SSL')),
NOT FOUND - OPERATION SKIPPED!
CODE: 'url'  => str_replace('&amp;', '&', $this->url->link('extension/installer/localcopy', 'token=' . $this->session->data['token'], true)),
LINE: 178

FILE: admin/controller/extension/modification.php
CODE: $this->response->redirect
LINE: 57
LINE: 458
LINE: 530
LINE: 567
LINE: 604
LINE: 639

FILE: admin/language/en-gb/extension/installer.php
CODE: <?php
LINE: 8

FILE: admin/language/ru-ru/extension/installer.php
CODE: <?php
LINE: 8

FILE: admin/language/en-gb/common/column_left.php
CODE: <?php
LINE: 4

FILE: admin/language/ru-ru/common/column_left.php
CODE: <?php
LINE: 4
CODE: if ($this->user->hasPermission('access', 'extension/extension')) {
LINE: 244
----------------------------------------------------------------

 

 

я даже не не знаю, что провоцирует такое (
отключаю Всплывающая корзина с заменой кнопки
все нормально работает

Надіслати
Поділитися на інших сайтах


5 минут назад, nikifalex сказал:

это нормальная ситуация. либо исправляете сами, либо пишете авторам обоих модулей, либо в раздел платных услуг.

 

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

Надіслати
Поділитися на інших сайтах


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

Надіслати
Поділитися на інших сайтах


6 минут назад, glum сказал:

Похоже на то что в модулях есть идентичное название из-за чего появляется конфликт

я думал это в модификаторах дело

 

вот

Спойлер

Всплывающий выбор опций 2.x


<?xml version="1.0" encoding="UTF-8"?>
<modification>
    <code>Pop-up options</code>
    <name>Pop-up options</name>
    <version>1.0</version>
    <author>kJlukoO</author>
    <link>http://cleanphp.ru</link>
 
    <file path="catalog/controller/checkout/cart.php">
        <operation>
            <search><![CDATA[
            $json['redirect'] = str_replace('&amp;', '&', $this->url->link('product/product', 'product_id=' . $this->request->post['product_id']));
            ]]></search>
            <add position='after'><![CDATA[
            $json['options'] = $this->load->controller('product/options');
            ]]></add>
        </operation>
    </file>

	
	
</modification>

 

 

Спойлер

Всплывающая корзина с заменой кнопки "Купить" для OpenCart и OcStore 2.3.* v 1.6.1


<?xml version="1.0" encoding="UTF-8"?>
<modification>
<name>PopUpCart Extended for OpenCart 2.3</name>
<code>PopUpCart Extended for OpenCart 2.3</code>
<version>1.6</version>
<author>http://oc-dev.ru/</author>

<file path="system/library/cart/cart.php">
	<operation>
	<search><![CDATA[$product_data[] = array(]]></search>
		<add position="before" error="skip"><![CDATA[
		$manufacturer_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "manufacturer m LEFT JOIN " . DB_PREFIX . "product p ON (p.manufacturer_id = m.manufacturer_id) WHERE p.product_id = '" . (int)$product_query->row['product_id'] . "'");
		$manufacturer = $manufacturer_query->num_rows ? $manufacturer_query->row['name'] : '';
	]]></add>
	</operation>
	<operation>
	<search><![CDATA[$product_query->row['minimum'],]]></search>
	<add position="after" error="skip"><![CDATA[
		'maximum'         => $product_query->row['quantity'],
		'manufacturer'    => $manufacturer,
	]]></add>
	</operation>
</file>	

<file path="catalog/controller/common/footer.php">
	<operation>
	<search><![CDATA[$this->load->language('common/footer');]]></search>
	<add position="after" error="skip"><![CDATA[
		$data['popupcartext'] = $this->load->controller('extension/module/popupcart');
	]]></add>
	</operation>
</file>	
	
<file path="catalog/view/theme/*/template/module/filterpro_products.tpl">
	<operation>
	<search><![CDATA[ <?php foreach ($products as $product) { ?> ]]></search>
	<add position="before" error="skip"><![CDATA[
	<script type="text/javascript"><!--
	$(document).ready(function () {
		$('#load_cart').load('index.php?route=extension/module/popupcart', function() {
			add_class();
			p_array();
		});
	});
	//--></script>
	]]></add>
	</operation>
</file>
	
</modification>

 

 

Змінено користувачем mops0634
Надіслати
Поділитися на інших сайтах


вместе модули не будут работать так как они оба ссылаются на одну и туже кнопку (#button-cart), здесь нужна правка одного из модулей а может и двух.
ну и скорее всего модуль корзины модифицирует функционал кнопки под себя через function replace_button

Надіслати
Поділитися на інших сайтах


54 минуты назад, glum сказал:

вместе модули не будут работать так как они оба ссылаются на одну и туже кнопку (#button-cart), здесь нужна правка одного из модулей а может и двух.
ну и скорее всего модуль корзины модифицирует функционал кнопки под себя через function replace_button

 

здесь конфликт вроде в скриптах

вот скрипт от всплывающей выбор опций 2.х

Спойлер

var cart = {
	'add': function(product_id, quantity) {
		$.ajax({
			url: 'index.php?route=checkout/cart/add',
			type: 'post',
			data: 'product_id=' + product_id + '&quantity=' + (typeof(quantity) != 'undefined' ? quantity : 1),
			dataType: 'json',
			beforeSend: function() {
				$('#cart > button').button('loading');
			},
			complete: function() {
				$('#cart > button').button('reset');
			},
			success: function(json) {
				$('.alert, .text-danger').remove();

				if (json['redirect']) {
					//location = json['redirect'];
					// pop-up options module
					$('body').append(json['options']);
				}

				if (json['success']) {
					$('#content').parent().before('<div class="alert alert-success"><i class="fa fa-check-circle"></i> ' + json['success'] + ' <button type="button" class="close" data-dismiss="alert">&times;</button></div>');

					// Need to set timeout otherwise it wont update the total
					setTimeout(function () {
						$('#cart > button').html('<span id="cart-total"><i class="fa fa-shopping-cart"></i> ' + json['total'] + '</span>');
					}, 100);

					$('html, body').animate({ scrollTop: 0 }, 'slow');

					$('#cart > ul').load('index.php?route=common/cart/info ul li');
				}
			},
			error: function(xhr, ajaxOptions, thrownError) {
				alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
			}
		});
	},
	'update': function(key, quantity) {
		$.ajax({
			url: 'index.php?route=checkout/cart/edit',
			type: 'post',
			data: 'key=' + key + '&quantity=' + (typeof(quantity) != 'undefined' ? quantity : 1),
			dataType: 'json',
			beforeSend: function() {
				$('#cart > button').button('loading');
			},
			complete: function() {
				$('#cart > button').button('reset');
			},
			success: function(json) {
				// Need to set timeout otherwise it wont update the total
				setTimeout(function () {
					$('#cart > button').html('<span id="cart-total"><i class="fa fa-shopping-cart"></i> ' + json['total'] + '</span>');
				}, 100);

				if (getURLVar('route') == 'checkout/cart' || getURLVar('route') == 'checkout/checkout') {
					location = 'index.php?route=checkout/cart';
				} else {
					$('#cart > ul').load('index.php?route=common/cart/info ul li');
				}
			},
			error: function(xhr, ajaxOptions, thrownError) {
				alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
			}
		});
	},
	'remove': function(key) {
		$.ajax({
			url: 'index.php?route=checkout/cart/remove',
			type: 'post',
			data: 'key=' + key,
			dataType: 'json',
			beforeSend: function() {
				$('#cart > button').button('loading');
			},
			complete: function() {
				$('#cart > button').button('reset');
			},
			success: function(json) {
				// Need to set timeout otherwise it wont update the total
				setTimeout(function () {
					$('#cart > button').html('<span id="cart-total"><i class="fa fa-shopping-cart"></i> ' + json['total'] + '</span>');
				}, 100);

				if (getURLVar('route') == 'checkout/cart' || getURLVar('route') == 'checkout/checkout') {
					location = 'index.php?route=checkout/cart';
				} else {
					$('#cart > ul').load('index.php?route=common/cart/info ul li');
				}
			},
			error: function(xhr, ajaxOptions, thrownError) {
				alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
			}
		});
	}
}

 

 

 

а вот от Всплывающая корзина с заменой кнопки

Спойлер

var cart = {
	'add': function(product_id, quantity, flag) {
	if (!$('input[name=\'product_id\']').length) {
		var quantity = typeof(quantity) != 'undefined' ? quantity : 1;
		var options = $('#option_'+product_id+' input[type=\'text\'], #option_'+product_id+' input[type=\'radio\']:checked, #option_'+product_id+' input[type=\'checkbox\']:checked, #option_'+product_id+' select, #option_'+product_id+' textarea');
		if (options.length) {
			var data = options.serialize() + '&product_id=' + product_id + '&quantity=' + quantity;
		} else {
			var data = 'product_id=' + product_id + '&quantity=' + quantity;
		}	
	} else {
		var quantity = typeof(quantity) != 'undefined' ? quantity : 1;
		var options = $('#product input[type=\'text\'], #product input[type=\'radio\']:checked, #product input[type=\'checkbox\']:checked, #product select, #product textarea');
		if (options.length) {
			var data = options.serialize() + '&product_id=' + product_id + '&quantity=' + quantity;
		} else {
			var data = 'product_id=' + product_id + '&quantity=' + quantity;
		}
	}

	$.ajax({
		url: 'index.php?route=checkout/cart/add',
		type: 'post',
		data: data,
		dataType: 'json',
		success: function(json) {
			$('.success, .warning, .attention, .information, .error').remove();
			
			if (json['redirect'] && $('input[name=\'product_id\']').val() != product_id) {
				location = json['redirect'];
			}
			
			if (json['redirect'] && !options.length) {
				location = json['redirect'];
			}
			
			if (json['redirect'] && flag) {
				location = json['redirect'];
			}

			if (json['error']) {
				if (json['error']['option']) {
					for (i in json['error']['option']) {
						$('#option-' + i).after($('<span class="error">' + json['error']['option'][i] + '</span>').fadeIn().delay('2000').fadeOut());
						$('#input-option' + i).after($('<span class="error">' + json['error']['option'][i] + '</span>').fadeIn().delay('2000').fadeOut());
					}
				}
			} 
			
			if (json['success']) {
				$('#cart').load('index.php?route=common/cart/info #cart > *');
					$('#popupcart_extended').load('index.php?route=extension/module/popupcart #popupcart_extended > *', function() {
						if($('input[name=\'addtocart_logic\']').val() == 1) {
							$('#popupcart_extended').popup('show');
						}
						carousel();
					});
				if (options.length) {
					replace_button(product_id, 1);
				} else {
					replace_button(product_id, 0);
				}
			}	
		}
	});
	},
	'remove': function(key) {
		$.ajax({
			url: 'index.php?route=checkout/cart/remove',
			type: 'post',
			data: 'key=' + key,
			dataType: 'json',
			beforeSend: function() {
				$('#cart > button').button('loading');
			},
			complete: function() {
				$('#cart > button').button('reset');
			},			
			success: function(json) {
				setTimeout(function () {
					$('#cart > button').html('<span id="cart-total"><i class="fa fa-shopping-cart"></i> ' + json['total'] + '</span>');
				}, 100);
				
				$('#popupcart_extended').load('index.php?route=extension/module/popupcart #popupcart_extended > *', function() {
					carousel();
				});
					
				if (getURLVar('route') == 'checkout/cart' || getURLVar('route') == 'checkout/checkout') {
					location = 'index.php?route=checkout/cart';
				} else {
					$('#cart > ul').load('index.php?route=common/cart/info ul li');
				}
			}
		});
	}
}

 

 

Надіслати
Поділитися на інших сайтах


7 часов назад, nikifalex сказал:

это нормальная ситуация. либо исправляете сами, либо пишете авторам обоих модулей, либо в раздел платных услуг.

no comment

Надіслати
Поділитися на інших сайтах

я уже поправил
дело было в этом
 

Спойлер

if (json['redirect'] && $('input[name=\'product_id\']').val() != product_id) {
				$('body').append(json['options']);
			}
			
			if (json['redirect'] && !options.length) {
				$('body').append(json['options']);
			}
			
			if (json['redirect'] && flag) {
				$('body').append(json['options']);
			}

 

 

 

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

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