Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

Recommended Posts

возник конфликт jquery-1.7.1.min.js из еще одним скриптом, неким tmpl.js код которого ниже.

не знаю что делать. т.к. тот скрипт используэтся и жизненноважен для всех страниц, а jquery-1.7.1.min.js нужен только для одного модуля - модуля Simple регистрация и заказ.

Может хто знает как отключить использования определенного яваскрипта для определенного файла?

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

<?php if ($_SERVER['REQUEST_URI'] != '/index.php?route=checkout/simplecheckout') : ?>
 <script type="text/javascript" src="<?php echo TMPL; ?>tmpl.js"></script>
<?php endif; ?>

если бы путь был вот таков /catalog/view/theme/sleep/template/checkout/simplecheckout.tpl  - меня єто здорово выручило бы, но увы пробовал - не канает.

 

Код tmpl.js

$(document).ready(function() {
	$('.fancybox').fancybox();
	$('#logo').click(function(){
		$(location).attr('href','/');
	});
	$("#fancybox").fancybox({
		'scrolling'		: 'no',
		//closeBtn		: false,
		fitToView		: false,
		'titleShow'		: false,
		'onClosed'		: function() {
		    $("#mail-error-partner").hide();
		    $("#mail-error-modal").hide();
		    $("#mail-error-bonus").hide();
		    $("#mail-error-bonus2").hide();
		}
	});

	$("#form-callback").bind("submit", function(event) {
		event.preventDefault();
		/*if ($("#mail-form-modal #phone1").val().length < 12) {
		    $("#mail-error-modal").html('Введите номер телефона (+7XXXYYYZZZZ)!');
		    $.fancybox.update();
		    setTimeout(errorHide, 2000);
		    return false;
		}*/

		$.fancybox.showLoading();

		$.ajax({
			type		: "POST",
			cache	: false,
			url		: "/ajax/mail.php",
			data		: $(this).serializeArray(),
			success: function(data) {
				$.fancybox(data);
			}
		});
	});

	/*$('#header #cart > div > div').click(function(){
		$(location).attr('href','/shopping-cart.html');
	});*/

	$('.link').click(function(){
		if ($(this).attr('data-href')!="")
			$(location).attr('href',$(this).attr('data-href'));
	});

var n,m;
	if ($('#content .product-grid').width()>660) {
		n=Math.floor ($('#content .product-grid').width() / 330);
		m=($('#content .product-grid').width()-330*n)/(4*n);
	} else m=3;
	$('#content .product-grid > div').css('margin-left', m);
	$('#content .product-grid > div').css('margin-right', m);
	$('#content .product-grid > div').css('padding-left', m);
	$('#content .product-grid > div').css('padding-right', m);

	$("#search input")
	    .val("Поиск...")
	    .css("color", "#999")
	    .focus(function(){
	        $(this).css("color", "#333");
	        if ($(this).val() == "Поиск...") {
	            $(this).val("");
	        }
	    })
	    .blur(function(){
	        $(this).css("color", "#999");
	        if ($(this).val() == "") {
	            $(this).val("Поиск...");
	        }
	    });
});

$(window).resize(function() {
	if ($('#content .product-grid').width()>660) {
		n=Math.floor ($('#content .product-grid').width() / 330);
		m=($('#content .product-grid').width()-330*n)/(4*n);
	} else m=3;
	$('#content .product-grid > div').css('margin-left', m);
	$('#content .product-grid > div').css('margin-right', m);
	$('#content .product-grid > div').css('padding-left', m);
	$('#content .product-grid > div').css('padding-right', m);
});



 

Link to post
Share on other sites

Если ЧПУ не включен, используйте для определения нужного url

$this->request->get['route']
Link to post
Share on other sites

Если ЧПУ не включен, используйте для определения нужного url

$this->request->get['route']

чпу включен, но могу на время выключить. а как его использовать?

Link to post
Share on other sites

чпу включен

 

Тогда, боюсь, не прокатит...

Link to post
Share on other sites

Джаваскрипт выполняется на клиенте, т.е. всегда только на странице (которая уже в формате HTML).

Поэтому для файла php, как предполагаю, Вы не сможете включить/отключить джаваскрипт.

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

Есть еще вариант.

Из двух загруженных дублирующихся функций, выполняется последняя загруженная.

Другими словами идет переопределение функции.

Link to post
Share on other sites

Можно грузить соответствующий JS файл средствами JS с клиента. При загрузке страницы получаете URL из командной строки, сравниваете его с эталонным, если совпадет, то добавляете элементы <script></scritp> в загруженный документ и таким образом добавляете нужные скрипты после загрузки страницы в клиента.

Link to post
Share on other sites

Смотря какие селекторы конфликтуют, можно в консоли дебаггера увидеть, я обычно замечая такую строку, заменяю символ $ на jQuery, можно использовать доп. функцию noConflict().

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.