Перейти к содержанию

Рекомендуемые сообщения

Всем привет

установил модуль всплывающей выбор опций 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
----------------------------------------------------------------

 

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

одними xml здесь не обойтись... нужно ковырять код корзины... возможно где то заменяет ид или класс шаблона

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты


 

Изменено пользователем mops0634

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
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']);
			}

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

крут!

Изменено пользователем glum

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.