Jump to content

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);
});



 

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

чпу включен

 

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

Share this post


Link to post
Share on other sites

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

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

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

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

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

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.